for enums, the dictionary encoding will take care of it efficiently.
In the thrift integration we do store enums as string and keep the ids around in the metadata similarly.
It would be best to be consistent across integrations.
That way when you read the data from say pig, you get the name of the enum as expected and not the id.