Refactor command option enum values so that there's a table that connects the CommandArgumentType enumeration with the corresponding enum values. This has two benefits:
- We guarantee that two options that use the same argument type have the same accepted values.
- We can print the enum values and their description in the help output (not part of this patch).
instead of moving all of these global enum declarations into CommandOptionArgumentTable.h, can we register the enum type in a static Initalize method? Maybe leave this code here and then add a function that would register a given enum type with the command interpreter so they can be displayed?
Then we can leave these definitions where they live, but register then so they can be seen in the help?