Refactor to real enums (#62)


diff --git a/lib/src/event.dart b/lib/src/event.dart
index 733e39d..31625f8 100644
--- a/lib/src/event.dart
+++ b/lib/src/event.dart
@@ -157,26 +157,15 @@
 }
 
 /// An enum of types of [Event] object.
-class EventType {
-  static const STREAM_START = EventType._('STREAM_START');
-  static const STREAM_END = EventType._('STREAM_END');
-
-  static const DOCUMENT_START = EventType._('DOCUMENT_START');
-  static const DOCUMENT_END = EventType._('DOCUMENT_END');
-
-  static const ALIAS = EventType._('ALIAS');
-  static const SCALAR = EventType._('SCALAR');
-
-  static const SEQUENCE_START = EventType._('SEQUENCE_START');
-  static const SEQUENCE_END = EventType._('SEQUENCE_END');
-
-  static const MAPPING_START = EventType._('MAPPING_START');
-  static const MAPPING_END = EventType._('MAPPING_END');
-
-  final String name;
-
-  const EventType._(this.name);
-
-  @override
-  String toString() => name;
+enum EventType {
+  STREAM_START,
+  STREAM_END,
+  DOCUMENT_START,
+  DOCUMENT_END,
+  ALIAS,
+  SCALAR,
+  SEQUENCE_START,
+  SEQUENCE_END,
+  MAPPING_START,
+  MAPPING_END
 }
diff --git a/lib/src/scanner.dart b/lib/src/scanner.dart
index 66d9d8b..2e49943 100644
--- a/lib/src/scanner.dart
+++ b/lib/src/scanner.dart
@@ -1666,20 +1666,13 @@
 /// whitespace for a block scalar.
 ///
 /// See http://yaml.org/spec/1.2/spec.html#id2794534.
-class _Chomping {
+enum _Chomping {
   /// All trailing whitespace is discarded.
-  static const STRIP = _Chomping('STRIP');
+  STRIP,
 
   /// A single trailing newline is retained.
-  static const CLIP = _Chomping('CLIP');
+  CLIP,
 
   /// All trailing whitespace is preserved.
-  static const KEEP = _Chomping('KEEP');
-
-  final String name;
-
-  const _Chomping(this.name);
-
-  @override
-  String toString() => name;
+  KEEP
 }
diff --git a/lib/src/token.dart b/lib/src/token.dart
index 7381a7d..9051d68 100644
--- a/lib/src/token.dart
+++ b/lib/src/token.dart
@@ -129,38 +129,31 @@
 }
 
 /// An enum of types of [Token] object.
-class TokenType {
-  static const STREAM_START = TokenType._('STREAM_START');
-  static const STREAM_END = TokenType._('STREAM_END');
+enum TokenType {
+  STREAM_START,
+  STREAM_END,
 
-  static const VERSION_DIRECTIVE = TokenType._('VERSION_DIRECTIVE');
-  static const TAG_DIRECTIVE = TokenType._('TAG_DIRECTIVE');
-  static const DOCUMENT_START = TokenType._('DOCUMENT_START');
-  static const DOCUMENT_END = TokenType._('DOCUMENT_END');
+  VERSION_DIRECTIVE,
+  TAG_DIRECTIVE,
+  DOCUMENT_START,
+  DOCUMENT_END,
 
-  static const BLOCK_SEQUENCE_START = TokenType._('BLOCK_SEQUENCE_START');
-  static const BLOCK_MAPPING_START = TokenType._('BLOCK_MAPPING_START');
-  static const BLOCK_END = TokenType._('BLOCK_END');
+  BLOCK_SEQUENCE_START,
+  BLOCK_MAPPING_START,
+  BLOCK_END,
 
-  static const FLOW_SEQUENCE_START = TokenType._('FLOW_SEQUENCE_START');
-  static const FLOW_SEQUENCE_END = TokenType._('FLOW_SEQUENCE_END');
-  static const FLOW_MAPPING_START = TokenType._('FLOW_MAPPING_START');
-  static const FLOW_MAPPING_END = TokenType._('FLOW_MAPPING_END');
+  FLOW_SEQUENCE_START,
+  FLOW_SEQUENCE_END,
+  FLOW_MAPPING_START,
+  FLOW_MAPPING_END,
 
-  static const BLOCK_ENTRY = TokenType._('BLOCK_ENTRY');
-  static const FLOW_ENTRY = TokenType._('FLOW_ENTRY');
-  static const KEY = TokenType._('KEY');
-  static const VALUE = TokenType._('VALUE');
+  BLOCK_ENTRY,
+  FLOW_ENTRY,
+  KEY,
+  VALUE,
 
-  static const ALIAS = TokenType._('ALIAS');
-  static const ANCHOR = TokenType._('ANCHOR');
-  static const TAG = TokenType._('TAG');
-  static const SCALAR = TokenType._('SCALAR');
-
-  final String name;
-
-  const TokenType._(this.name);
-
-  @override
-  String toString() => name;
+  ALIAS,
+  ANCHOR,
+  TAG,
+  SCALAR
 }