they never ask for 'a rock song duets book from the 80s'.
Maybe not, but it would be pretty easy to offer that as an option.
Say they first choose 80s. And then you use JS to change the question to "ALL/Rock/Country/Metal" (or whatever choices you offer). If they don't choose something else within NN seconds (you determine NN through testing), they get "ALL".
And then you use JS to change the question to "ALL/Solo/Duets". Again, if they don't answer withing NN seconds they get "ALL".
And then you start displaying the list.
3 major KINDS of choices all in the same "real estate" on the phone's web page.
Lots more service to your users, hopefully will attract even more users.
And the best part: If you auto-detect the screen size, then if the screen is big enough you show all 3 questions at the same time. You only use the one-at-a-time on truly small screens.
p.s.: I worked for a phone-apps company in the earlier days of not-so-smart phones and this is the kind of tricks we would use. Dynamic "forms", though we never called them forms. Oh...and our system was all based on MySQL, by the by.