The size or datatype of the column is irrelevant. It is the unique values that matter. If you only have 7 unique values that means 14.286% of the rows have to be considered.

Instead of giving the MySQL Query Optimizer the stress of figuring out that out, you should partitioning the table by hash:

    CREATE TABLE mytable
    (
        id INT NOT NULL AUTO_INCREMENT,
        ...
        ...
        myenum INT NOT NULL,
        PRIMARY KEY (id)
    )
    PARTITION BY HASH( myenum )
    PARTITIONS 7;

No need to have the myenum in any indexes. Leave it to the MySQL Query Optimizer to search the correct partition should any SELECT query have a `WHERE` clause that includes `AND myenum = ...`.

If you ever have to increase the number of unique values, you will have to increase the number of partitions.

#Give it a Try !!!