2 to 4 level converter in 8-QAM
Because there is some confusion about the weighting of your decode requirements I've shown a circuit below where this can be changed easily: -



First is the 2 to 4 line decoder. Whatever your two digital input pins are, it will result in one of the four pins on the output being connected to (say) +5V. The idea here is that you can set 00 to produce 0V, 01 to produce 1.667V, 10 to produce 3.333V and 11 to produce 5V. If there is any change of plan, change the resistor ratios to suit. MAX384 seems a suitable candidate although I'm sure a smaller device with just one 4:1 switch inside could be located.

They don't have to be monotonic - they can be in any order whatsoever. It's a lot easier if you use analogue switches as the decode element because then there is no inter-dependence between voltage levels produced i.e. only one switch is active at once and the three other series resistors have no bearing on the output voltage. Bear in mind that the on-resistance of the MAX384 is 100 ohms so choose resistor values that are in the tens of kohm to avoid significant errors.

Next is a unipolar to bipolar convertor made from a single op-amp. This converts (say) a range of 0 to 5V to -5V to +5V so if your unipolar voltages were 0V, 1.6667V, 3.3333V and 5V, the output would be -5V, -1.6667V, +1.6667V and +5V.

This has an identical voltage spacing between levels of 3.3333V.

Remember the individual levels can be in any order and don't have to be equally spaced - set the resistor ratios to suit your requirement. I've chosen monotonic equal spacing because it makes more sense to me but it needn't be monotonic and it needn't be equal spacing.