yup, your on the right track with modifying the calculation for the different groups.
to set the quantity breaks on an item by item basis, you would add extra columns to cart, for example:
qtyALow
qtyAHigh
qtyBLow
qtyBHigh
qtyCLow
qtyCHigh
in the add to cart button you set the qty breaks by the values given to these columns, for example:
qtyALow = 1
qtyAHigh = 9
qtyBLow = 10
qtyBHigh = 49
qtyCLow = 50
qtyCHigh = 100
instead of hard coding the values in the calculation, refer to the quantity break columns:
((abs([DiscountGroup] == 'A' && ([Quantity] >= [qtyALow] && [Quantity] <= [qtyAHigh]))*[Discount1to9]) + (abs([DiscountGroup] == 'A' && ([Quantity] >= [qtyBLow] && [Quantity] <= [qtyBHigh]))*[Discount10to49]) + (abs([DiscountGroup] == 'A' && ([Quantity] >= [qtyCLow] && [Quantity] <= [qtyCHigh]))*[Discount50to100])) * [Quantity]