Thanks for all the inspiration. Here is my final working code.
If(PartCount<First(Sort(CountRoster,PartCount,Ascending)).PartCount+(First(Sort(CountRoster,PartCount,Descending)).PartCount-First(Sort(CountRoster,PartCount,Ascending)).PartCount)/5,Red,
PartCount<First(Sort(CountRoster,PartCount,Ascending)).PartCount+((First(Sort(CountRoster,PartCount,Descending)).PartCount-First(Sort(CountRoster,PartCount,Ascending)).PartCount)/5)*2,Orange,
PartCount<First(Sort(CountRoster,PartCount,Ascending)).PartCount+((First(Sort(CountRoster,PartCount,Descending)).PartCount-First(Sort(CountRoster,PartCount,Ascending)).PartCount)/5)*3,Yellow,
PartCount<First(Sort(CountRoster,PartCount,Ascending)).PartCount+((First(Sort(CountRoster,PartCount,Descending)).PartCount-First(Sort(CountRoster,PartCount,Ascending)).PartCount)/5)*4,LightGreen,
PartCount>First(Sort(CountRoster,PartCount,Ascending)).PartCount+((First(Sort(CountRoster,PartCount,Descending)).PartCount-First(Sort(CountRoster,PartCount,Ascending)).PartCount)/5)*4,Green,
RGBA(0,0,0,0))
It is basically Value < LargeValue-SmallValue/5 is lowest and then I move up in increments. The colors / fonts are perfect but it works pretty well. It isn't as incremental and clean as percentages but it gives me the chunks I want. Just realized I need <= otherwise it doesn't work for exact values.
Color Scales