Using the IntDef#flag() attribute set to true, multiple constants can be combined.

Using the same example in this topic:

public abstract class Car {

    //Define the list of accepted constants
    @IntDef(flag=true, value={MICROCAR, CONVERTIBLE, SUPERCAR, MINIVAN, SUV})

    //Tell the compiler not to store annotation data in the .class file
    @Retention(RetentionPolicy.SOURCE)

    .....

}

Users can combine the allowed constants with a flag (such as |, &, ^ ).