android/guava/src/com/google/common/collect/Sets.java
public static <E extends Enum<E>> EnumSet<E> newEnumSet(
      Iterable<E> iterable, Class<E> elementType) {
    EnumSet<E> set = EnumSet.noneOf(elementType);
    Iterables.addAll(set, iterable);
    return set;
  }
public static <E extends Enum<E>> EnumSet<E> newEnumSet(
      Iterable<E> iterable, Class<E> elementType) {
    EnumSet<E> set = EnumSet.noneOf(elementType);
    Iterables.addAll(set, iterable);
    return set;
  }
Returns a new, <i>mutable</i> {@code EnumSet} instance containing the given elements in their
natural order. This method behaves identically to {@link EnumSet#copyOf(Collection)}, but also
accepts non-{@code Collection} iterables and empty iterables.