You can also use the sub-clause GROUPING SETS to specifiy the groups. Use function GROUPING to sort the data as desired (Total at the end).
USE tempdb;
GO
SELECT
GroupName, NumberOfCases
INTO #Temp
FROM
(
VALUES
('Grp A',10),
('Grp B',20)
) AS T(GroupName,NumberOfCases);
SELECT
CASE WHEN GROUPING(GroupName) = 1 THEN 'Total' ELSE GroupName END as GroupName,
SUM(NumberOfCases) AS sum_NumberOfCases
FROM
#Temp
GROUP BY
GROUPING SETS (
(GroupName),
()
)
ORDER BY
GROUPING(GroupName),
GroupName;
DROP TABLE #Temp;