I haven't read this super carefully, but wouldn't this be covered by the default case already, which also uses an array?