With some extra EE code to manipulate the key, all of the cases could be extended to support indexes prefixed by permutations of the full or partial GROUP BY expressions which is what the original DDLCompiler was trying to support, but the EE never really came close to supporting this.