The reason for the typedef is precisely that an enum is not guaranteed to be one byte. Tom suggested getting rid of the typedef, but it's needed to make sure it's stored as one byte.
I'll go add a comment to it, explaining why it's needed.
If we're not using the enum type perhaps it would be better to make it a bunch of #defines? The main advantage of enum types is that the debugger knows what values are legal and can decode them for you.
That said, I guess there's not much reason to go and change things now either.