### Description

![image](https://github.com/elastic/elasticsearch/assets/76245/d0443170-0419-4759-b505-7620ff3d6594)

The execution time of grouping stats by multiple keywords has increased: 1.2 to 1.6 seconds (with doc_partitioning), 4.3 to 6.7 seconds (with shard_partitioning). The equivalent query with the _search API takes 1.8 seconds.

`from nyc_taxis | ... | stats c = count(dropoff_datetime) by trip_type, payment_type, vendor_id`

This regression occurred since July 2, 2023, and I suspect it may be due to the PR: [Support multivalued fields on arbitrary grouping](https://github.com/elastic/elasticsearch-internal/pull/1340).

/cc @nik9000
x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/MultivalueDedupeTests.java
}
        encoder.encodeNextBatch();
        assertThat(encoder.bytesLength(), equalTo(0));
        assertThat(encoder.positionCount(), equalTo(leadingNulls));
        /*
         * When we add against we scale the array up to handle at least one position.
         * We may get more than one position because the scaling oversizes the destination
         * and may end up with enough extra room to fit more trailing positions.
         */
        encoder.encodeNextBatch();
        assertThat(encoder.bytesLength(), greaterThan(0));
        assertThat(encoder.positionCount(), greaterThanOrEqualTo(1));
        assertThat(encoder.firstPosition(), equalTo(leadingNulls));
        assertEncodedPosition(b, encoder, leadingNulls, 0, 0);
    }
    private void assertBooleanHash(Set<Boolean> previousValues, BasicBlockTests.RandomBlock b) {
        boolean[] everSeen = new boolean[3];
        if (previousValues.contains(false)) {
            everSeen[1] = true;
        }
        if (previousValues.contains(true)) {
            everSeen[2] = true;
        }
        IntBlock hashes = new MultivalueDedupeBoolean(Block.Ref.floating(b.block())).hash(everSeen);
        List<Boolean> hashedValues = new ArrayList<>();
        if (everSeen[1]) {
            hashedValues.add(false);
        }
        if (everSeen[2]) {
            hashedValues.add(true);