You can do this with the Programmable Filter and a fairly short script. Assume the name of your scalars that label the regions is called ‘RegionId’, then your script would look like:
# Find unique region IDs
regionArray = inputs[0].CellData['RegionId']
regions = unique(regionArray)
v = volume(inputs[0])
for regionValue in regions:
regionVolume = sum(v[regionArray == regionValue])
print(regionValue, regionVolume)
This will print the volume of each region value and region.