> Using Enums, etc. to represent those values in the embedded world would be a monumental waste of memory, where a single bit would normally suffice.

In C++ you can use enums in bit-fields, not sure what the case is in C.