Guess I solved my own problem with this query below:
{
"query": {
"bool": {
"must": [
{ "terms": { "product_id": [123, 456] } },
{
"bool": {
"should": [
{ "match_phrase": { "product_subtype": "subtype abc" } },
{ "match_phrase": { "product_subtype": "subtype def" } }
]
}
}
]
}
}
}