This size is determined by the compiler and cannot be changed. But you can be flexible.
If it is determined that one byte is enough, you can define the char type and then assign the required enum type.
For example:
enum {FALSE,TRUE };
There is no naming enumeration here, and then definition.
typedef char BOOL
In this way, this BOOL type occupies one byte, and both FALSE and TRUE enumeration values can be used at the same time.