Also if you have loads of global variables, maybe you could use some other techniques to better organise them, like local static variables, use global Sprite instances with instance variables, use a Dictionary, etc.
This is what you should really be focusing on... I think traditional programming wisdom also discourages using any sort of global variable that doesn't have to be a global variable.
This kind of keyboard mapping probably belongs in a dictionary. Yes you lose autocomplete, but setting up controls should be a one time thing, and there's a certain point where dealing with a mess of global variables is even more frustrating as you continue working in the project and need to use globals for other things.
Alternatively, you might want to reconsider your naming system, that could make things go a lot smoother in the future. Two approaches is to change from Detailed-General instead of General-Detailed, or to use much shorter or abbreviated "General" prefixes
Don't worry about performance penalties for using subevents/groups. If you can't measure it, it doesn't exist. Also I don't know how you get away without using groups for a big project in the first place...