`#[derive(Default)]` for enum, non only struct

You can manually implement Default like this:

enum Kind {
    A,
    B,
    C,
}

impl Default for Kind {
    fn default() -> Self { Kind::A }
}

See also this thread.