complied with the proposed enum implementation in Dart

Used index instead of ordinal and make values a List instead of Iterable