It's not possible for something to be both, but there are some options that we want to apply the same way for multiple different cluster managers.

E.g. on both standalone and Mesos mode, --executor-cores should translate to setting the spark.executor.memory Java system property, and with the flags, we can express that with
+      new Opt(appArgs.executorMemory, STANDALONE | MESOS, CLIENT, null, null, "spark.executor.memory"),

I couldn't find a way to do this with Enumerations.  Do you know if there is one?