It's possible to have low/float/high output any three voltages between the rails by using the four resistor circuit shown below (note that only one of the R4 resistors will be needed; which one will depend upon the desired output voltage when the output is floating). The circuit below will output 1/2/3 volts when the output is low/float/high.

simulate this circuit – Schematic created using CircuitLab
Assuming VS is the supply/output high voltage, and the desired top/middle/bottom voltages are VT, VM, and VB respectively, assign values to R1 and R2 such that R1/R2=VB/(VS-VT) [in this example, 10k/20k = 1V/(5V-3V)]. Resistors may be scaled up and down together as convenient. Next, assign R3 so that VB/R1+VB/R3 = (VS-VB)/R2 [in this example, 1V/10K + 1V/10K = (5V-1V)/20K.] That will make the output yield the correct voltages for 'high' and 'low' cases, but not necessarily for the 'float' case.
If the 'float' voltages is too low, add R4a to raise it; if it's too high, add R4b to lower it. In this example, it's necessary to raise the voltage. When the output is at the correct voltage, 0.2mA will flow through R1 and 0.15mA through R2. That means 0.05mA must flow through the series string of R4a+R3 which has 3 volts across it, so the total resistance of that string must be 60K; R4a must thus be 50K.