Better encapsulation of ASTNode.ENUM

Use underscore prefix for node types that should
not be used by the public.