Thanks very much, Nicholas Jordan, for your reply.
But could I please ask what's the difference between the design approach in your example (e.g. MERCURY (3.303e+23, 2.4397e6)) and the design approach in Jesper Young's reply (e.g. DELETE(2)) ? I mean, don't they both reflect the idea of adding fields to your enum, and initializing them in the private constructor ?
Or did you mean to emphasize that additional fields can be 'double' and not just limited to 'int' ?
I meant tp emphasize that additional fields can be added and other things that may be overlooked should be investigated before making further design decisions. I never really got going on enums when they seemed to be critical path selectors placed early in executable files where the runtime, in other languages, would switch on two byte or one byte values early in the loadable program that we in userland can see as a filename in a directory listing under the explorer interface.
Therefore, I just quit using them.
I was trying to draw attention that the decision needed further attention, nothing else beyond that.
Message edit: see the discussion I wanted to acheive by visiting the link: