Mysql: Any way to properly index 3 ENUM columns with the same options ? (A OR B OR C)
Because you need to use OR logic in your WHERE predicate, there's not a way to create one index that covers every case unfortunately.
Fortunately you're basically on the money with a virtual field or rather you should create a generated column, and then you can create an index on that single column so your queries are performant.