This should get you close. If all your CCs "tagged" "Addition" "Deviation" etc. are checkboxes then there is no need to check if they are checkboxes

Sub CheckBoxesByTag()
Dim lngTag As Long
Dim arrTags() As String
Dim lngProp As Long
Dim arrProperties() As String
Dim varValue As Variant
Dim oCCs As ContentControls
Dim oCC As ContentControl
  'Define the names of the custom properties to check
  arrProperties = Split("DCR Type|Classification", "|")
  'Loop through each property name in the array
  For lngProp = 0 To UBound(arrProperties)
    'Get the value of the custom property
    varValue = ActiveDocument.CustomDocumentProperties(arrProperties(lngProp)).Value
    'Define the tagd to find
    arrTags = Split("Addition|Deviation|Change|Removal|Class A|Class B|Class C|Class D", "|")
    For lngTag = 0 To UBound(arrTags)
      'Make sure to enclose string values in double quotes
      'Check if the custom property exists and has a specific value
      If Not IsEmpty(varValue) And varValue = arrTags(lngTag) Then
        Set oCCs = ActiveDocument.SelectContentControlsByTag(arrTags(lngTag))
        For Each oCC In oCCs
          If oCC.Type = wdContentControlCheckBox Then
            oCC.LockContents = False
            oCC.Checked = True
            oCC.LockContents = True
          End If
        Next oCC
      End If
    Next lngTag
  Next lngProp
lbl_Exit:
  Exit Sub
End Sub
P.S. nothing wrong with using variant arrays, I just like string arrays best for this sort of thing