Gracias a Todos por Vuestras Opciones.
La opción de la matriz bidimensional queda descartada por razones de búsqueda y variaciones.
la opción que estoy usando es con "cases", lo que quería evitar repetir en cada case algunas líneas de programación (tal como lo tengo funciona bien).
Al quedarme corto de memoria he pasado del Arduino Mega al Arduino Due y de momento voy bastante sobrado.
Por ejemplo el programa en el Arduino Mega ocupaba mas del 90%, al pasarlo al Arduino Due se ha quedado en el 12%.