If the data type needed is smaller than an int; this is a cost converting the int to an byte.
I do not use enum in embedded programing because #define does not require the conversion.
Note, I never really confirmed the above, just assumed it was true.