I've ran into the same problem. There's a way to partially simulate an enum with a struct and some typedef magic: http://codepad.org/RNYyyFqc
So it kind of acts like an enum. But it's just a workaround, there might be performance issues + switches don't work for structs. It was just an experiment though.