Hello Rick,
FYI odoo is currently setting event colors based on different partners not based on different events.
Regarding your requirement, yes you can replace this current functionality with the state field. For that, you just need to do the following steps.
For odoo12,
1)Inherit calendar view and change attribute color="state(your_field_name)"
2)Then you have to assign a color index to your state by updating the init method for "web.CalendarRenderer".
E.g - this.color_map.state(your_field_name) = 2(will be index value);
For more information, you can contact us.
Regards,

Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari
Lo resolviste te puedo ayudar?