Expected Rover check behaviour around Enum members

According to the docs, composition of enums uses either the union or intersection strategy depending on whether the enum is used in only “outbound” operations or “inbound” ones too.

I assumed this implied that rover would never treat a difference in enum membership as an error when checking a subgraph schema.

However I’m getting an error from performing a rover check of the form:

+ npx -p @apollo/rover rover subgraph check MyGraph@demo --name foo --schema ./schema.gql
Checking the proposed schema for subgraph foo against MyGraph@demo
error[E029]: Encountered 1 build error while trying to build subgraph "foo" into supergraph "MyGraph@demo".

Caused by:
    UNKNOWN: Enum type "Color" is used as both input type (for example ...) and 
	output type (for example, ...), but value "RED" is not defined in all the subgraphs defining "Color": 
	"RED" is defined in subgraph "bar" but not in subgraph "foo"
    
    The changes in the schema you proposed for subgraph foo are incompatible with 
	supergraph MyGraph@demo

Is this expected, or is it a bug. It seems that if there is a composition strategy for enums, then as long as the strategy does not result in an empty enum it should not result in a subgraph check error.

I’m running rover 0.7.0

Opened an issue for this