data=GatherBy[Table[
{CountryData[c,"Continent"],Tooltip[QuantityMagnitude[CountryData[c,#]]&/@{"BirthRateFraction","DeathRateFraction","Population"},CountryData[c,"Name"]]}
,{c,CountryData[]}],First];

legended=MapIndexed[
Legended[
Style[#[[All,2]],ColorData["Rainbow",(First[#2]-1)/(Length[data]-1)]],
#[[1,1]]]&,
data
];

BubbleChart[legended]