This answer is in regards to the edited pictures. Earlier, the pictures displayed selections of products (wine, potato dishes) where the groupings of options weren't too clear.
Now, there is a difference between the choices the user has to make:
- What type of service does he want?
- Should the service be close or cheap?
There is a difference between the kind of answers that Choice 1 and Choice 2 offer.
For Choice 1, pizza places either offer delivery or they don't. They either offer carry-out or they don't. There are two groups of pizza places (delivery and carry-out), and some pizza places can be found in both.
For Choice 2, a pizza place is closEST only when compared to another pizza place. That means Choice 2 creates a scale from close to far away and a scale from cheap to expensive. Clicking "closest" shows a certain number of pizza places on the "close" end of the scale. When presented to the user, that defined number of close pizza places should also be shown (sorted) in an order of closest to furthest with closest being the first listed.
With that in mind, a stronger hierarchy can be established and help the user find what he needs more quickly:
At the first level, is the location.
The second level offers a choice between the two main groups of pizza places.
The third level, the scale from close to far, is established through a sort function where the user can choose to sort the pizza places be closest first or cheapest first.
We could assume that the user knows if he wants to have a pizza delivered or not before he orders, and that would justify having the user define the pizza place type before the vicinity or price. But that would be an assumption and would be better tested. If the vicinity or price of the pizza place (Choice 2) would end up being more important, Choice 1 would need to be implemented as an optional filter (via checkboxes or dropdown with checkboxes). If vicinity or price (Choice 2) would be discovered to be WAY more important than Choice 1, Choice 2 would need to move to level 2. Choice 1 would then move to level 3 as an optional filter.