In C, data types smaller than int like char or short are automatically promoted to int or unsigned int when an operation is performed on them.

Effectively no arithmetic calculation happens on smaller data types like char, short or enum.