diff --git a/homeassistant/components/group/cover.py b/homeassistant/components/group/cover.py
index c2d263ab8ad..c2cd3c6e9d2 100644
--- a/homeassistant/components/group/cover.py
+++ b/homeassistant/components/group/cover.py
@@ -12,15 +12,8 @@ from homeassistant.components.cover import (
     ATTR_TILT_POSITION,
     DOMAIN,
     PLATFORM_SCHEMA,
-    SUPPORT_CLOSE,
-    SUPPORT_CLOSE_TILT,
-    SUPPORT_OPEN,
-    SUPPORT_OPEN_TILT,
-    SUPPORT_SET_POSITION,
-    SUPPORT_SET_TILT_POSITION,
-    SUPPORT_STOP,
-    SUPPORT_STOP_TILT,
     CoverEntity,
+    CoverEntityFeature,
 )
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
@@ -154,28 +147,28 @@ class CoverGroup(GroupEntity, CoverEntity):
 
         features = new_state.attributes.get(ATTR_SUPPORTED_FEATURES, 0)
 
-        if features & (SUPPORT_OPEN | SUPPORT_CLOSE):
+        if features & (CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE):
             self._covers[KEY_OPEN_CLOSE].add(entity_id)
         else:
             self._covers[KEY_OPEN_CLOSE].discard(entity_id)
-        if features & (SUPPORT_STOP):
+        if features & (CoverEntityFeature.STOP):
             self._covers[KEY_STOP].add(entity_id)
         else:
             self._covers[KEY_STOP].discard(entity_id)
-        if features & (SUPPORT_SET_POSITION):
+        if features & (CoverEntityFeature.SET_POSITION):
             self._covers[KEY_POSITION].add(entity_id)
         else:
             self._covers[KEY_POSITION].discard(entity_id)
 
-        if features & (SUPPORT_OPEN_TILT | SUPPORT_CLOSE_TILT):
+        if features & (CoverEntityFeature.OPEN_TILT | CoverEntityFeature.CLOSE_TILT):
             self._tilts[KEY_OPEN_CLOSE].add(entity_id)
         else:
             self._tilts[KEY_OPEN_CLOSE].discard(entity_id)
-        if features & (SUPPORT_STOP_TILT):
+        if features & (CoverEntityFeature.STOP_TILT):
             self._tilts[KEY_STOP].add(entity_id)
         else:
             self._tilts[KEY_STOP].discard(entity_id)
-        if features & (SUPPORT_SET_TILT_POSITION):
+        if features & (CoverEntityFeature.SET_TILT_POSITION):
             self._tilts[KEY_POSITION].add(entity_id)
         else:
             self._tilts[KEY_POSITION].discard(entity_id)
@@ -320,18 +313,19 @@ class CoverGroup(GroupEntity, CoverEntity):
         )
 
         supported_features = 0
-        supported_features |= (
-            SUPPORT_OPEN | SUPPORT_CLOSE if self._covers[KEY_OPEN_CLOSE] else 0
-        )
-        supported_features |= SUPPORT_STOP if self._covers[KEY_STOP] else 0
-        supported_features |= SUPPORT_SET_POSITION if self._covers[KEY_POSITION] else 0
-        supported_features |= (
-            SUPPORT_OPEN_TILT | SUPPORT_CLOSE_TILT if self._tilts[KEY_OPEN_CLOSE] else 0
-        )
-        supported_features |= SUPPORT_STOP_TILT if self._tilts[KEY_STOP] else 0
-        supported_features |= (
-            SUPPORT_SET_TILT_POSITION if self._tilts[KEY_POSITION] else 0
-        )
+        if self._covers[KEY_OPEN_CLOSE]:
+            supported_features |= CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE
+        supported_features |= CoverEntityFeature.STOP if self._covers[KEY_STOP] else 0
+        if self._covers[KEY_POSITION]:
+            supported_features |= CoverEntityFeature.SET_POSITION
+        if self._tilts[KEY_OPEN_CLOSE]:
+            supported_features |= (
+                CoverEntityFeature.OPEN_TILT | CoverEntityFeature.CLOSE_TILT
+            )
+        if self._tilts[KEY_STOP]:
+            supported_features |= CoverEntityFeature.STOP_TILT
+        if self._tilts[KEY_POSITION]:
+            supported_features |= CoverEntityFeature.SET_TILT_POSITION
         self._attr_supported_features = supported_features
 
         if not self._attr_assumed_state:
diff --git a/homeassistant/components/group/fan.py b/homeassistant/components/group/fan.py
index 0f39e9de974..4badbe6df51 100644
--- a/homeassistant/components/group/fan.py
+++ b/homeassistant/components/group/fan.py
@@ -20,10 +20,8 @@ from homeassistant.components.fan import (
     SERVICE_SET_PERCENTAGE,
     SERVICE_TURN_OFF,
     SERVICE_TURN_ON,
-    SUPPORT_DIRECTION,
-    SUPPORT_OSCILLATE,
-    SUPPORT_SET_SPEED,
     FanEntity,
+    FanEntityFeature,
 )
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
@@ -49,7 +47,11 @@ from .util import (
     states_equal,
 )
 
-SUPPORTED_FLAGS = {SUPPORT_SET_SPEED, SUPPORT_DIRECTION, SUPPORT_OSCILLATE}
+SUPPORTED_FLAGS = {
+    FanEntityFeature.SET_SPEED,
+    FanEntityFeature.DIRECTION,
+    FanEntityFeature.OSCILLATE,
+}
 
 DEFAULT_NAME = "Fan Group"
 
@@ -191,19 +193,25 @@ class FanGroup(GroupEntity, FanEntity):
         if percentage == 0:
             await self.async_turn_off()
         await self._async_call_supported_entities(
-            SERVICE_SET_PERCENTAGE, SUPPORT_SET_SPEED, {ATTR_PERCENTAGE: percentage}
+            SERVICE_SET_PERCENTAGE,
+            FanEntityFeature.SET_SPEED,
+            {ATTR_PERCENTAGE: percentage},
         )
 
     async def async_oscillate(self, oscillating: bool) -> None:
         """Oscillate the fan."""
         await self._async_call_supported_entities(
-            SERVICE_OSCILLATE, SUPPORT_OSCILLATE, {ATTR_OSCILLATING: oscillating}
+            SERVICE_OSCILLATE,
+            FanEntityFeature.OSCILLATE,
+            {ATTR_OSCILLATING: oscillating},
         )
 
     async def async_set_direction(self, direction: str) -> None:
         """Set the direction of the fan."""
         await self._async_call_supported_entities(
-            SERVICE_SET_DIRECTION, SUPPORT_DIRECTION, {ATTR_DIRECTION: direction}
+            SERVICE_SET_DIRECTION,
+            FanEntityFeature.DIRECTION,
+            {ATTR_DIRECTION: direction},
         )
 
     async def async_turn_on(
@@ -268,7 +276,9 @@ class FanGroup(GroupEntity, FanEntity):
         self._is_on = any(state.state == STATE_ON for state in on_states)
         self._attr_assumed_state |= not states_equal(on_states)
 
-        percentage_states = self._async_states_by_support_flag(SUPPORT_SET_SPEED)
+        percentage_states = self._async_states_by_support_flag(
+            FanEntityFeature.SET_SPEED
+        )
         self._percentage = reduce_attribute(percentage_states, ATTR_PERCENTAGE)
         self._attr_assumed_state |= not attribute_equal(
             percentage_states, ATTR_PERCENTAGE
@@ -286,9 +296,11 @@ class FanGroup(GroupEntity, FanEntity):
             self._speed_count = 100
 
         self._set_attr_most_frequent(
-            "_oscillating", SUPPORT_OSCILLATE, ATTR_OSCILLATING
+            "_oscillating", FanEntityFeature.OSCILLATE, ATTR_OSCILLATING
+        )
+        self._set_attr_most_frequent(
+            "_direction", FanEntityFeature.DIRECTION, ATTR_DIRECTION
         )
-        self._set_attr_most_frequent("_direction", SUPPORT_DIRECTION, ATTR_DIRECTION)
 
         self._supported_features = reduce(
             ior, [feature for feature in SUPPORTED_FLAGS if self._fans[feature]], 0
diff --git a/homeassistant/components/group/light.py b/homeassistant/components/group/light.py
index aa9e6ad0b53..c940a21e98a 100644
--- a/homeassistant/components/group/light.py
+++ b/homeassistant/components/group/light.py
@@ -30,11 +30,9 @@ from homeassistant.components.light import (
     COLOR_MODE_BRIGHTNESS,
     COLOR_MODE_ONOFF,
     PLATFORM_SCHEMA,
-    SUPPORT_EFFECT,
-    SUPPORT_FLASH,
-    SUPPORT_TRANSITION,
     SUPPORT_WHITE_VALUE,
     LightEntity,
+    LightEntityFeature,
 )
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
@@ -74,7 +72,10 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
 )
 
 SUPPORT_GROUP_LIGHT = (
-    SUPPORT_EFFECT | SUPPORT_FLASH | SUPPORT_TRANSITION | SUPPORT_WHITE_VALUE
+    LightEntityFeature.EFFECT
+    | LightEntityFeature.FLASH
+    | LightEntityFeature.TRANSITION
+    | SUPPORT_WHITE_VALUE
 )
 
 _LOGGER = logging.getLogger(__name__)
diff --git a/homeassistant/components/group/media_player.py b/homeassistant/components/group/media_player.py
index 97d8f51536c..46c019dbc7c 100644
--- a/homeassistant/components/group/media_player.py
+++ b/homeassistant/components/group/media_player.py
@@ -16,21 +16,8 @@ from homeassistant.components.media_player import (
     PLATFORM_SCHEMA,
     SERVICE_CLEAR_PLAYLIST,
     SERVICE_PLAY_MEDIA,
-    SUPPORT_CLEAR_PLAYLIST,
-    SUPPORT_NEXT_TRACK,
-    SUPPORT_PAUSE,
-    SUPPORT_PLAY,
-    SUPPORT_PLAY_MEDIA,
-    SUPPORT_PREVIOUS_TRACK,
-    SUPPORT_SEEK,
-    SUPPORT_SHUFFLE_SET,
-    SUPPORT_STOP,
-    SUPPORT_TURN_OFF,
-    SUPPORT_TURN_ON,
-    SUPPORT_VOLUME_MUTE,
-    SUPPORT_VOLUME_SET,
-    SUPPORT_VOLUME_STEP,
     MediaPlayerEntity,
+    MediaPlayerEntityFeature,
 )
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
@@ -157,36 +144,47 @@ class MediaPlayerGroup(MediaPlayerEntity):
             return
 
         new_features = new_state.attributes.get(ATTR_SUPPORTED_FEATURES, 0)
-        if new_features & SUPPORT_CLEAR_PLAYLIST:
+        if new_features & MediaPlayerEntityFeature.CLEAR_PLAYLIST:
             self._features[KEY_CLEAR_PLAYLIST].add(entity_id)
         else:
             self._features[KEY_CLEAR_PLAYLIST].discard(entity_id)
-        if new_features & (SUPPORT_NEXT_TRACK | SUPPORT_PREVIOUS_TRACK):
+        if new_features & (
+            MediaPlayerEntityFeature.NEXT_TRACK
+            | MediaPlayerEntityFeature.PREVIOUS_TRACK
+        ):
             self._features[KEY_TRACKS].add(entity_id)
         else:
             self._features[KEY_TRACKS].discard(entity_id)
-        if new_features & (SUPPORT_PAUSE | SUPPORT_PLAY | SUPPORT_STOP):
+        if new_features & (
+            MediaPlayerEntityFeature.PAUSE
+            | MediaPlayerEntityFeature.PLAY
+            | MediaPlayerEntityFeature.STOP
+        ):
             self._features[KEY_PAUSE_PLAY_STOP].add(entity_id)
         else:
             self._features[KEY_PAUSE_PLAY_STOP].discard(entity_id)
-        if new_features & SUPPORT_PLAY_MEDIA:
+        if new_features & MediaPlayerEntityFeature.PLAY_MEDIA:
             self._features[KEY_PLAY_MEDIA].add(entity_id)
         else:
             self._features[KEY_PLAY_MEDIA].discard(entity_id)
-        if new_features & SUPPORT_SEEK:
+        if new_features & MediaPlayerEntityFeature.SEEK:
             self._features[KEY_SEEK].add(entity_id)
         else:
             self._features[KEY_SEEK].discard(entity_id)
-        if new_features & SUPPORT_SHUFFLE_SET:
+        if new_features & MediaPlayerEntityFeature.SHUFFLE_SET:
             self._features[KEY_SHUFFLE].add(entity_id)
         else:
             self._features[KEY_SHUFFLE].discard(entity_id)
-        if new_features & (SUPPORT_TURN_ON | SUPPORT_TURN_OFF):
+        if new_features & (
+            MediaPlayerEntityFeature.TURN_ON | MediaPlayerEntityFeature.TURN_OFF
+        ):
             self._features[KEY_ON_OFF].add(entity_id)
         else:
             self._features[KEY_ON_OFF].discard(entity_id)
         if new_features & (
-            SUPPORT_VOLUME_MUTE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_STEP
+            MediaPlayerEntityFeature.VOLUME_MUTE
+            | MediaPlayerEntityFeature.VOLUME_SET
+            | MediaPlayerEntityFeature.VOLUME_STEP
         ):
             self._features[KEY_VOLUME].add(entity_id)
         else:
@@ -407,32 +405,35 @@ class MediaPlayerGroup(MediaPlayerEntity):
             self._state = None
 
         supported_features = 0
-        supported_features |= (
-            SUPPORT_CLEAR_PLAYLIST if self._features[KEY_CLEAR_PLAYLIST] else 0
-        )
-        supported_features |= (
-            SUPPORT_NEXT_TRACK | SUPPORT_PREVIOUS_TRACK
-            if self._features[KEY_TRACKS]
-            else 0
-        )
-        supported_features |= (
-            SUPPORT_PAUSE | SUPPORT_PLAY | SUPPORT_STOP
-            if self._features[KEY_PAUSE_PLAY_STOP]
-            else 0
-        )
-        supported_features |= (
-            SUPPORT_PLAY_MEDIA if self._features[KEY_PLAY_MEDIA] else 0
-        )
-        supported_features |= SUPPORT_SEEK if self._features[KEY_SEEK] else 0
-        supported_features |= SUPPORT_SHUFFLE_SET if self._features[KEY_SHUFFLE] else 0
-        supported_features |= (
-            SUPPORT_TURN_ON | SUPPORT_TURN_OFF if self._features[KEY_ON_OFF] else 0
-        )
-        supported_features |= (
-            SUPPORT_VOLUME_MUTE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_STEP
-            if self._features[KEY_VOLUME]
-            else 0
-        )
+        if self._features[KEY_CLEAR_PLAYLIST]:
+            supported_features |= MediaPlayerEntityFeature.CLEAR_PLAYLIST
+        if self._features[KEY_TRACKS]:
+            supported_features |= (
+                MediaPlayerEntityFeature.NEXT_TRACK
+                | MediaPlayerEntityFeature.PREVIOUS_TRACK
+            )
+        if self._features[KEY_PAUSE_PLAY_STOP]:
+            supported_features |= (
+                MediaPlayerEntityFeature.PAUSE
+                | MediaPlayerEntityFeature.PLAY
+                | MediaPlayerEntityFeature.STOP
+            )
+        if self._features[KEY_PLAY_MEDIA]:
+            supported_features |= MediaPlayerEntityFeature.PLAY_MEDIA
+        if self._features[KEY_SEEK]:
+            supported_features |= MediaPlayerEntityFeature.SEEK
+        if self._features[KEY_SHUFFLE]:
+            supported_features |= MediaPlayerEntityFeature.SHUFFLE_SET
+        if self._features[KEY_ON_OFF]:
+            supported_features |= (
+                MediaPlayerEntityFeature.TURN_ON | MediaPlayerEntityFeature.TURN_OFF
+            )
+        if self._features[KEY_VOLUME]:
+            supported_features |= (
+                MediaPlayerEntityFeature.VOLUME_MUTE
+                | MediaPlayerEntityFeature.VOLUME_SET
+                | MediaPlayerEntityFeature.VOLUME_STEP
+            )
 
         self._supported_features = supported_features
         self.async_write_ha_state()