Although there are always some integers in the numerical value equal to the enumeration value, the types are different;
Different types of data cannot be directly assigned to each other (strictly typed languages will not pass in the compilation stage);
If necessary, tell the compiler clearly, that is, use forced type conversion for cast, so that the compiler will not do any extra checking, and the programmer will be responsible for the problems.