I'm a little lost as to the layout you are using..
you pass source as a range and then have source.range("E15")?

I'm thinking the best way to do this would be with a worksheet change event with code like:
Private Sub Worksheet_Change(Byval target as ref)
If target.row = 15 then
Application.EnableEvents = False
    With target.offset(1,0).interior
    Select Case source.Value
        Case "AMD SAC"
            .ColorIndex = 3 'Red
        Case "T1 Transfers"
            .ColorIndex = 5 'Blue
        Case "T2A Arrivals"
            .ColorIndex = 6 'Yellow
        Case "T3IB Main"
            .ColorIndex = 4 'Green
        Case "T4 SAC"
            .ColorIndex = 7 'Magenta
        Case "T5 WBU"
            .ColorIndex = 8
        Case "Holiday"
            .ColorIndex = 9
    End Select
    end with
    Application.EnableEvents = True
End If
End Sub
Needs to be in the sheet object within your vba project.