Efficient query for multiple tags with multiple values

Greetings!

RainbowSpots is a new app based on OSM. To find nearby venues, we query for lgbtq=primary tags and find very few matches. Recently, we discovered additional supported values for the “lgbtq” tag and also discovered the largely unused “gay” tag. This means a more complex query for multiple tags with multiple values. Need help optimizing the query for the union of lgbtq=* and gay=* so we be a single list of matches with any of the values.

Is this the best we can do?

data=[out:json];
(node(around:50000,42.666,-71.094)[“lgbtq”~“primary|welcome|yes|friendly|only”];
node(around:50000,42.666,-71.094)[“gay”~“yes|welcome|only|men|majority”];);
out skel qt;

Thanks for your guidance!

NOTE1: RainbowSpots allows users to find and rate nearby places for LGBTQ+ Friendliness. The app is now in both app stores and available online at https://sizzlescene.com/rainbowspotsclient/dist/index.html. We hope the app will inspire many more venues to add tags, especially lgbtq=friendly.

NOTE2: We also use our private install of OSM to support our other map-based apps: HotSpots and PotSpots