It was already possible to define more than 256 per class, but not possible
to use them as the index used in GUI and passed through commands was limited
to a byte.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.