DEPRECATED PLEASE SEE: https://rust-lang.github.io/rfcs/3107-derive-default-enum.html
----------------------------------------------------------------------------------------
enum_default provides an EnumDefault derive macro
that provides a std::Default implementation
for Enums by using the first value or specifying a #[default] attribute