I'm still acquiring the finer points of golang development. Why would the enum need to be based on an integer? Why not just make it a string? The type-safety of using any old string as an Operation value remains an issue. The other conversion issues seem to more or less disappear.<p>When Oracle's patent on enums as objects expires, sufficiently motivated language designers can start to incorporate them. I doubt golang will get them.