### Description

In [siren federate](https://siren.io/federate/) we extend the `SearchService` to create `SearchContext` instances. In 8.8 this is not possible anymore because the `createContext` method takes the `ResultsType` enum which is package private.

https://github.com/elastic/elasticsearch/blob/b640c217cccab67dce7d954bc92b6b519c102b16/server/src/main/java/org/elasticsearch/search/SearchService.java#L992-L998

In order to be able to keep on calling that method from another package, the visibility of the enum `ResultsType` should be increased to `protected`.
server/src/main/java/org/elasticsearch/search/SearchService.java
@Override
        public void run() {
            for (ReaderContext context : activeReaders.values()) {
                if (context.isExpired()) {
                    logger.debug("freeing search context [{}]", context.id());
                    freeReaderContext(context.id());
                }
            }
        }
    }
    public AliasFilter buildAliasFilter(ClusterState state, String index, Set<String> resolvedExpressions) {
        return indicesService.buildAliasFilter(state, index, resolvedExpressions);
    }
    public void canMatch(ShardSearchRequest request, ActionListener<CanMatchShardResponse> listener) {
        try {
            listener.onResponse(canMatch(request));
        } catch (IOException e) {
            listener.onFailure(e);
        }
    }
    public void canMatch(CanMatchNodeRequest request, ActionListener<CanMatchNodeResponse> listener) {
        final List<ShardSearchRequest> shardSearchRequests = request.createShardSearchRequests();
        final List<CanMatchNodeResponse.ResponseOrFailure> responses = new ArrayList<>(shardSearchRequests.size());