Yeah, we don't really have a choice there, as bad as char signedness and utf8/ascii problems might be.  Although here we're explicitly mangling an unsigned type as a signed type.  I don't think these enums are common enough for this to ever be an issue in reality.