What is not clear? A case label should be an integer constant. It could be one of integer types, enumeration type, something like this, but not a string, not an array, or any other more complex object or a pointer to object. You cannot use your "MH", "FY" and the like.
You could find some explanation in thousands of places:
http://bit.ly/1lLKRN4[
^].
The whole idea of using
immediate constants, especially string, it very bad. This kind of code is not supportable. This is actually a big programming
anti-pattern:
http://en.wikipedia.org/wiki/Magic_string_(programming)#Magic_strings_in_code[
^],
http://en.wikipedia.org/wiki/Magic_number_(programming)#Unnamed_numerical_constants[
^] (yes, magic numbers, too);
see also:
http://en.wikipedia.org/wiki/Anti-pattern#Programming[
^].
—SA