Converts the object into a JSON parsable Map
@override Map<String, dynamic> toJson() { return { "type": type.value, }; }