You could filter the aggregation by type, and then use sub-aggregations. For example:
{
"aggs": {
"Test 1": {
"filter": {
"type": {
"value": "type1"
}
},
"aggs": {
"agg_name": {
"terms": {
"field": "field1",
"size": 10
}
}
}
},
"Test 2": {
"filter": {
"type": {
"value": "type2"
}
},
"aggs": {
"agg_name": {
"terms": {
"field": "field2",
"size": 10
}
}
}
}
}
}