Sure that will work but that is what I said above:
"I tried to follow the same method but had to redefine the streams (they exist on the mavlink lib) and appended the "MY" to the streams names to be able to use them as indexes since the complete set of defined streams is larger and I don't use them all.
I could have used the native stream definition enum but I would have larger arrays with unused indexes."
 
The idea was not to waste memory (not only flash, but also ram for the array allocation) but I can understand that it is worth it to improve readability and bug resilience.