Раз вам нужно убирать неподходящее в disable, то на реляционной базе, да еще с EAV - это будет ад, как по коду, так и по производительности.
Самое очевидное решение тут брать подходящие для этих задач решения, например, elasticsearch. Вот, например, статья про такой вариант
https://blog.madewithlove.be/post/faceted-search-u...