Perhaps this:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng     As Excel.Range
    Dim cell    As Excel.Range
    Dim iCI     As Long

    Set rng = Intersect(Target, Columns("E"))
    If rng Is Nothing Then
        Exit Sub
    Else
        For Each cell In rng
            Select Case cell.Text
                Case "Upcoming":       iCI = 34
                Case "Open":           iCI = xlNone
                Case "Pending":        iCI = 22
                Case "On Hold":        iCI = 22
                Case "Finished":       iCI = xlNone
                Case "Cancelled":      iCI = 3
                Case "Order Hardware": iCI = 44
                Case "Awaiting Order": iCI = 45
                Case "SPECIAL":        iCI = 43
                Case "R&M initiated":  iCI = 43
                Case Else:             iCI = xlNone
            End Select
            Set cell = Intersect(cell.EntireRow, Union(Columns("A:C"), Columns("H")))
            cell.Interior.ColorIndex = iCI
        Next cell
    End If
End Sub