Map<String, dynamic> toJson() => { 'name': name, 'kind': kind.index, 'colors': colors, 'tokenColors': tokenColors.map((k, v) => MapEntry(k, v.toJson())), };