You sure can do it that way. Normally you'd use the powers-of-two for the resistor values. In this case 100-200-400. This will give you 7 equally spaced conductance values. (conductance is 1/ resistance).
Because resistances of 200 are uncommon and 400 are even harder-to-get, especially if you have only three values, you can create such a 1-2-4 sequence from 5 resistors of the same value, for the lowest value, two in parallel, then one single and then two in series.
If you want not the conductance to be linear but the resistance, you would place the resistors with parallel relays all in series. So your 100 Ohm resistor would contribute 100 (relay open) or zero (relay closed) to the total resistance.
So with 100-200-400, you'd be able to make 0 (short all relays), 100, 200, 300, 400, 500, 600, and 700 ohms.
With the given circuit and given resistor values, you get a bit of a weird mixture of values. I've done the math for you and with your circuit you can make: "infinite", 400, 250, 153, 100, 80, 71, and 61 ohms.
Use 200 instead of 250 and you get 400, 200, 133, 100, 80, 67 and 57.
You have the choice: do you want to deal with the edge-case of zero resistance or do you prefer the infinite case.... In both cases you can avoid it with an extra resistor that is not switched.
If you want to aim for 500k max value, theory would dictate that you aim for 143k as the middle resistor value. Depending on your application using 120k as the middle resistor might work too.