covering index mystery?
The order of the index matters.
Your update query uses seven and eight. There must be at the left most begining of the index. Because both are with = value based where criteria the order doesn't matter.
create index udx_78 on A (seven, eigth)

Putting the updated columns into the index doesn't help an update query. If it was aselect query, then the query would return those columns from the index.
See how mysql uses indexes.
Welcome to DBA stack exchange. Please include the explain output next time along with show create table {tablename} as it conveys the message faster.