You can use the segmentation to change voxels of a volume of the same geometry using numpy array operations, something like this:
volumeNode = getNode('MRHead')
segmentationNode = getNode('Segmentation')
segmentNames = ['bone', 'air', 'tissue', 'tumor']
voxelIntensities = [2000, -1000, 60, 150]
volumeArray = slicer.util.arrayFromVolume(volumeNode)
for segmentName, voxelIntensity in zip(segmentNames, voxelIntensities):
# Get segment as numpy array
segmentId = segmentationNode.GetSegmentation().GetSegmentIdBySegmentName(segmentName)
segmentArray = slicer.util.arrayFromSegmentBinaryLabelmap(segmentationNode, segmentId, volumeNode)
# Update voxel of the volume
volumeArray[ segmentArray > 0 ] = voxelIntensity
slicer.util.arrayFromVolumeModified(volumeNode)