Может быть, что-то вроде этого поможет:
const filter = [
{ key: 'brand', op: '==', value: 'brand' },
{ key: 'frame_gender', op: '==', value: 'Male' },
{ key: 'sku', op: 'array-contains', value: 'sku-here' },
];
//...
const filteredQuery = filter
.filter(item=>item.value!==undefined)
.reduce(
(query,{key,op,value})=>query.where(key,op,value),
query
);
Вместо назначения ваших флажков для checked_items
вы можете использовать свойство value элементов фильтра (или его индекс, чтобы вы знали, какое значение устанавливать, когда онопроверить / снят)