When declaring an enum (class) I can specify the underlying type that the enum will use, e.g.
enum class MyEnum : baseType { FIRST, SECOND };
What can baseType be? The usual choice would be uint32_t or something similar but could it also be float? Or even my own class?