My own solution (better may exist)...
The more I use Crystal, the more I like Excel.
Well, being happier with SQL than I am with CR at the moment I went back to what I know best and did the job in a SQL command (below for ref).
N.B. PIVOT is a SQL2k5 keyword I believe but similar can be achieved with Aggregate/Case statements.
SELECT 'Pizza' as Category, avg(cast(M as float)) as M, avg(cast(F as float)) as F
FROM takeout
PIVOT
( AVG(PizzaScore) FOR Gender IN(M, F)
) AS p
UNION
SELECT 'Italian', avg(cast(M as float)), avg(cast(F as float))
FROM takeout
PIVOT
( AVG(ItalianScore) FOR Gender IN(M, F)
) AS p
UNION
SELECT 'Sushi', avg(cast(M as float)), avg(cast(F as float))
FROM takeout
PIVOT
( AVG(SushiScore) FOR Gender IN(M, F)
) AS p
Produces the following output:
Italian 5.42857142857143 4
Pizza 4.42857142857143 5.14285714285714
Sushi 5 5.42857142857143
Which even the ludicrously dim CR charting engine can turn into what I want.