code: func (t EnumType) EqualEnclosing(other EnumType) bool {
  	if !t.SimpleType.Equal(other.SimpleType) {
  		return false
  	}
  	if !t.BaseType.Equal(other.BaseType) {
  		return false
  	}
  	// if the local list of values is completely contained
  	// in the other values set, consider it enclosing.
  	if !t.RewritableValues {
  		return containsAll(t.Values, other.Values)
  	}
  	return true
  }
docs: // EqualEnclosing returns true if two EnumType objects are equal and/or the
  // values set is enclosing (larger and containing) the other values set.