Thrift enums are compiled into Ruby modules as Ruby has no native enum type. This works well except that without maintaining a separate map somewhere else or using reflection, it is impossible to get the names of the values back out from the values themselves. Essentially with this setup:
DATAPOINT = 1
OTHERDATA = 2
If I have 2, it is very difficult to get "OTHERDATA" back out. It would be easier if thrift generated a static map from constant value to constant name. I am going to try and work on a patch for this.