Symbols are Lpp objects of type Symbol that have universal
identity and usually stand for what they connote. For example in a
program the symbol red will be the same symbol as red in
another program and would most likely connote the color red. C++
enums do not have this property of universal identity.
Furthermore symbols are a lot more efficient than strings for this
purpose since there is only one symbol object in a system per symbol
name such as red. When a symbol is introduced into the system
it is said to be interned.