Если да, то "динамически менять where" = заранее предусмотреть все варианты фильтров и вынести их в разные переменные стейта. Когда надо — менять значения тех переменных.
В исходниках where - это void функция с string,operator,dynamic - полями.
"все варианты" - слишком громоздко выйдет
фильтр может быть не выбран, а where останется, сравнивать с пустым полем выдаст не правильный результат.