Like structures, enumerations allow us to establish a new data type. The content is different from a structure, though. When we say that the data type of a variable is an enumeration, we're telling Rust that its contained value is required to be one of the specific choices we've described for that enumeration and can't be anything else.