Thanks to @teylyn for steering me right on a solution to this puzzle.
I'm adding here a slight variation, adding two levels of conditional formatting to control color, and demonstrating how to get the color shading to span across the rows.
In this expanded solution, I've added an additional "Value" column just to satisfy the additional requirement of adding fill across the rows.
The "Helper" column works the same as @teylyn suggested, evaluating each cell value in column A to the cell value above. If this evaluates to true, the helper column uses the column C value in the previous row to set the current row column C value. If false, the current row column C value is set to 0.
Once these values are set, the conditional formatting can be done by selecting all values in column C (select C2, click ctrl-shft-down arrow), and then setting the first conditional rule to use green fill if $C2 evaluates to 1. Add a new rule, setting the fill color to blue if $C2 evaluates to 0.
To get the colors to span the rows, change the "Applies to" textbox to span the entire range of values from $A$2:$C$10.
It's a splendid solution. Now, to add a third color, or maybe a random color ... there's another day for that one.
Stack Overflow may not allow me to post an image showing the solution (sorry).
No image, but here's what the sheet values look like:
Row Value Helper
123 ABC 1
123 DEF 1
123 GHI 1
456 JKL 0
456 MNO 0
789 PQR 1
789 STU 1
789 VWX 1
789 YZA 1
And here's the formula to update values in column C:
=IF(A2=A1,C1,IF(C1=1,0,1))