diff --git a/app/assets/javascripts/members/components/members_tabs.vue b/app/assets/javascripts/members/components/members_tabs.vue
index 134edfac8e38ca663f31bff2942097a9891966d8..05fde6369d167dd24a2353f0cd0dca229bbce78f 100644
--- a/app/assets/javascripts/members/components/members_tabs.vue
+++ b/app/assets/javascripts/members/components/members_tabs.vue
@@ -3,7 +3,7 @@ import { GlTabs, GlTab, GlBadge, GlButton } from '@gitlab/ui';
 // eslint-disable-next-line no-restricted-imports
 import { mapState } from 'vuex';
 import { queryToObject } from '~/lib/utils/url_utility';
-import { MEMBER_TYPES, ACTIVE_TAB_QUERY_PARAM_NAME } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES, ACTIVE_TAB_QUERY_PARAM_NAME } from 'ee_else_ce/members/constants';
 import { TABS } from 'ee_else_ce/members/tabs_metadata';
 import MembersApp from './app.vue';
 
@@ -22,7 +22,7 @@ export default {
   },
   computed: {
     ...mapState(
-      Object.values(MEMBER_TYPES).reduce((getters, memberType) => {
+      Object.values(MEMBERS_TAB_TYPES).reduce((getters, memberType) => {
         return {
           ...getters,
           // eslint-disable-next-line @gitlab/require-i18n-strings
@@ -68,7 +68,7 @@ export default {
       return this[`${namespace}Count`];
     },
     showTab(tab, index) {
-      if (tab.namespace === MEMBER_TYPES.user) {
+      if (tab.namespace === MEMBERS_TAB_TYPES.user) {
         return true;
       }
 
diff --git a/app/assets/javascripts/members/components/table/member_actions.vue b/app/assets/javascripts/members/components/table/member_actions.vue
index beb5fe3b7c4ee5c29781ad96618619a1454bce4e..d71f5eacf69c5309e7f3428c800ee7eb64095449 100644
--- a/app/assets/javascripts/members/components/table/member_actions.vue
+++ b/app/assets/javascripts/members/components/table/member_actions.vue
@@ -1,5 +1,5 @@
 <script>
-import { MEMBER_TYPES, ACTION_BUTTONS } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES, ACTION_BUTTONS } from 'ee_else_ce/members/constants';
 import AccessRequestActionButtons from '../action_buttons/access_request_action_buttons.vue';
 import GroupActionButtons from '../action_buttons/group_action_buttons.vue';
 import InviteActionButtons from '../action_buttons/invite_action_buttons.vue';
@@ -36,10 +36,10 @@ export default {
   computed: {
     actionButtonComponent() {
       const dictionary = {
-        [MEMBER_TYPES.user]: 'user-action-dropdown',
-        [MEMBER_TYPES.group]: 'group-action-buttons',
-        [MEMBER_TYPES.invite]: 'invite-action-buttons',
-        [MEMBER_TYPES.accessRequest]: 'access-request-action-buttons',
+        [MEMBERS_TAB_TYPES.user]: 'user-action-dropdown',
+        [MEMBERS_TAB_TYPES.group]: 'group-action-buttons',
+        [MEMBERS_TAB_TYPES.invite]: 'invite-action-buttons',
+        [MEMBERS_TAB_TYPES.accessRequest]: 'access-request-action-buttons',
         ...ACTION_BUTTONS,
       };
 
diff --git a/app/assets/javascripts/members/components/table/members_table_cell.vue b/app/assets/javascripts/members/components/table/members_table_cell.vue
index cac8c9fb4db060daab2dff9d1e08156770589198..5bbd98278b7ee5ffe3f616a815d58d59da5b8194 100644
--- a/app/assets/javascripts/members/components/table/members_table_cell.vue
+++ b/app/assets/javascripts/members/components/table/members_table_cell.vue
@@ -1,5 +1,5 @@
 <script>
-import { MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import {
   isGroup,
   isDirectMember,
@@ -31,16 +31,16 @@ export default {
     },
     memberType() {
       if (this.isGroup) {
-        return MEMBER_TYPES.group;
+        return MEMBERS_TAB_TYPES.group;
       }
       if (this.isInvite) {
-        return MEMBER_TYPES.invite;
+        return MEMBERS_TAB_TYPES.invite;
       }
       if (this.isAccessRequest) {
-        return MEMBER_TYPES.accessRequest;
+        return MEMBERS_TAB_TYPES.accessRequest;
       }
 
-      return MEMBER_TYPES.user;
+      return MEMBERS_TAB_TYPES.user;
     },
     isDirectMember() {
       return isDirectMember(this.member);
diff --git a/app/assets/javascripts/members/constants.js b/app/assets/javascripts/members/constants.js
index 593b5ed9799185dd245537ecc11a1be749668bb0..f35b06ca8eb5fb643fdf8c59445bad6d1f9e226e 100644
--- a/app/assets/javascripts/members/constants.js
+++ b/app/assets/javascripts/members/constants.js
@@ -161,7 +161,7 @@ export const AVAILABLE_FILTERED_SEARCH_TOKENS = [
 
 export const AVATAR_SIZE = 48;
 
-export const MEMBER_TYPES = Object.freeze({
+export const MEMBERS_TAB_TYPES = Object.freeze({
   user: 'user',
   group: 'group',
   invite: 'invite',
diff --git a/app/assets/javascripts/members/tabs_metadata.js b/app/assets/javascripts/members/tabs_metadata.js
index 0ef7cbf3da86b5e1f47ef1f9e15523a54e3dd857..cfc76a3925817c00bda7e1d401845b4ccfa9de8f 100644
--- a/app/assets/javascripts/members/tabs_metadata.js
+++ b/app/assets/javascripts/members/tabs_metadata.js
@@ -1,33 +1,33 @@
 import { __, s__ } from '~/locale';
 import PlaceholdersTabApp from './components/placeholders/app.vue';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from './constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from './constants';
 
 // Overridden in EE
 export const TABS = [
   {
-    namespace: MEMBER_TYPES.user,
+    namespace: MEMBERS_TAB_TYPES.user,
     title: __('Members'),
   },
   {
-    namespace: MEMBER_TYPES.group,
+    namespace: MEMBERS_TAB_TYPES.group,
     title: __('Groups'),
     attrs: { 'data-testid': 'groups-list-tab' },
     queryParamValue: TAB_QUERY_PARAM_VALUES.group,
   },
   {
-    namespace: MEMBER_TYPES.invite,
+    namespace: MEMBERS_TAB_TYPES.invite,
     title: s__('Members|Pending invitations'),
     requiredPermissions: ['canManageMembers'],
     queryParamValue: TAB_QUERY_PARAM_VALUES.invite,
   },
   {
-    namespace: MEMBER_TYPES.accessRequest,
+    namespace: MEMBERS_TAB_TYPES.accessRequest,
     title: __('Access requests'),
     requiredPermissions: ['canManageAccessRequests'],
     queryParamValue: TAB_QUERY_PARAM_VALUES.accessRequest,
   },
   {
-    namespace: MEMBER_TYPES.placeholder,
+    namespace: MEMBERS_TAB_TYPES.placeholder,
     title: s__('UserMapping|Placeholders'),
     queryParamValue: TAB_QUERY_PARAM_VALUES.placeholder,
     component: PlaceholdersTabApp,
diff --git a/app/assets/javascripts/pages/groups/group_members/index.js b/app/assets/javascripts/pages/groups/group_members/index.js
index 014ae933ac960998e3350b441c82ebe878c5663e..2717098650e216c06ae2369e05776a06bc343c16 100644
--- a/app/assets/javascripts/pages/groups/group_members/index.js
+++ b/app/assets/javascripts/pages/groups/group_members/index.js
@@ -3,12 +3,12 @@ import initInviteGroupTrigger from '~/invite_members/init_invite_group_trigger';
 import initInviteGroupsModal from '~/invite_members/init_invite_groups_modal';
 import { s__ } from '~/locale';
 import { initMembersApp } from '~/members';
-import { EE_GROUPS_APP_OPTIONS, MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { EE_GROUPS_APP_OPTIONS, MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import { groupLinkRequestFormatter } from '~/members/utils';
 
 const SHARED_FIELDS = ['account', 'maxRole', 'expiration', 'actions'];
 const APP_OPTIONS = {
-  [MEMBER_TYPES.user]: {
+  [MEMBERS_TAB_TYPES.user]: {
     tableFields: SHARED_FIELDS.concat(['source', 'activity']),
     tableSortableFields: [
       'account',
@@ -27,7 +27,7 @@ const APP_OPTIONS = {
       recentSearchesStorageKey: 'group_members',
     },
   },
-  [MEMBER_TYPES.group]: {
+  [MEMBERS_TAB_TYPES.group]: {
     tableFields: SHARED_FIELDS.concat(['source', 'granted']),
     requestFormatter: groupLinkRequestFormatter,
     filteredSearchBar: {
@@ -38,7 +38,7 @@ const APP_OPTIONS = {
       recentSearchesStorageKey: 'group_links_members',
     },
   },
-  [MEMBER_TYPES.invite]: {
+  [MEMBERS_TAB_TYPES.invite]: {
     tableFields: SHARED_FIELDS.concat('invited'),
     requestFormatter: groupMemberRequestFormatter,
     filteredSearchBar: {
@@ -49,7 +49,7 @@ const APP_OPTIONS = {
       recentSearchesStorageKey: 'group_invited_members',
     },
   },
-  [MEMBER_TYPES.accessRequest]: {
+  [MEMBERS_TAB_TYPES.accessRequest]: {
     tableFields: SHARED_FIELDS.concat('requested'),
     requestFormatter: groupMemberRequestFormatter,
   },
diff --git a/app/assets/javascripts/pages/projects/project_members/index.js b/app/assets/javascripts/pages/projects/project_members/index.js
index 17f41e03715b965bb782bdf1d2c4e4e96e43a7bd..116a5e4c322514ef39ca2e64c3e2639a34d35315 100644
--- a/app/assets/javascripts/pages/projects/project_members/index.js
+++ b/app/assets/javascripts/pages/projects/project_members/index.js
@@ -1,4 +1,4 @@
-import { EE_PROJECTS_APP_OPTIONS, MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { EE_PROJECTS_APP_OPTIONS, MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import initImportProjectMembersTrigger from '~/invite_members/init_import_project_members_trigger';
 import initImportProjectMembersModal from '~/invite_members/init_import_project_members_modal';
 import initInviteGroupTrigger from '~/invite_members/init_invite_group_trigger';
@@ -15,7 +15,7 @@ initImportProjectMembersTrigger();
 
 const SHARED_FIELDS = ['account', 'maxRole', 'expiration', 'actions'];
 initMembersApp(document.querySelector('.js-project-members-list-app'), {
-  [MEMBER_TYPES.user]: {
+  [MEMBERS_TAB_TYPES.user]: {
     tableFields: SHARED_FIELDS.concat(['source', 'activity']),
     tableSortableFields: [
       'account',
@@ -34,7 +34,7 @@ initMembersApp(document.querySelector('.js-project-members-list-app'), {
       recentSearchesStorageKey: 'project_members',
     },
   },
-  [MEMBER_TYPES.group]: {
+  [MEMBERS_TAB_TYPES.group]: {
     tableFields: SHARED_FIELDS.concat(['source', 'granted']),
     requestFormatter: groupLinkRequestFormatter,
     filteredSearchBar: {
@@ -45,11 +45,11 @@ initMembersApp(document.querySelector('.js-project-members-list-app'), {
       recentSearchesStorageKey: 'project_group_links',
     },
   },
-  [MEMBER_TYPES.invite]: {
+  [MEMBERS_TAB_TYPES.invite]: {
     tableFields: SHARED_FIELDS.concat('invited'),
     requestFormatter: projectMemberRequestFormatter,
   },
-  [MEMBER_TYPES.accessRequest]: {
+  [MEMBERS_TAB_TYPES.accessRequest]: {
     tableFields: SHARED_FIELDS.concat('requested'),
     requestFormatter: projectMemberRequestFormatter,
   },
diff --git a/ee/app/assets/javascripts/members/components/table/members_table_cell.vue b/ee/app/assets/javascripts/members/components/table/members_table_cell.vue
index 93c52409c890203e69961c5f320e2dea476b86ba..1e6b5fa54d5c393e48ae03938d310e771fc21c58 100644
--- a/ee/app/assets/javascripts/members/components/table/members_table_cell.vue
+++ b/ee/app/assets/javascripts/members/components/table/members_table_cell.vue
@@ -1,6 +1,6 @@
 <script>
 import CEMembersTableCell from '~/members/components/table/members_table_cell.vue';
-import { MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import { canDisableTwoFactor, canOverride, canUnban } from '../../utils';
 
 export default {
@@ -25,8 +25,8 @@ export default {
   },
   methods: {
     memberType(ceMemberType) {
-      if (this.namespace === MEMBER_TYPES.banned && this.member.banned) {
-        return MEMBER_TYPES.banned;
+      if (this.namespace === MEMBERS_TAB_TYPES.banned && this.member.banned) {
+        return MEMBERS_TAB_TYPES.banned;
       }
 
       return ceMemberType;
diff --git a/ee/app/assets/javascripts/members/constants.js b/ee/app/assets/javascripts/members/constants.js
index 7e3c4f7285eb66e330c3878e1f1374501632312e..bb10c16a2124d19fd406233d6f0653f1d644f0e3 100644
--- a/ee/app/assets/javascripts/members/constants.js
+++ b/ee/app/assets/javascripts/members/constants.js
@@ -5,7 +5,7 @@ import { __, n__, s__, sprintf } from '~/locale';
 import { OPERATORS_IS } from '~/vue_shared/components/filtered_search_bar/constants';
 import {
   AVAILABLE_FILTERED_SEARCH_TOKENS as AVAILABLE_FILTERED_SEARCH_TOKENS_CE,
-  MEMBER_TYPES as MEMBER_TYPES_CE,
+  MEMBERS_TAB_TYPES as MEMBERS_TAB_TYPES_CE,
   TAB_QUERY_PARAM_VALUES as CE_TAB_QUERY_PARAM_VALUES,
 } from '~/members/constants';
 import { helpPagePath } from '~/helpers/help_page_helper';
@@ -55,15 +55,15 @@ export const AVAILABLE_FILTERED_SEARCH_TOKENS = [
 ];
 
 // eslint-disable-next-line import/export
-export const MEMBER_TYPES = Object.freeze({
-  ...MEMBER_TYPES_CE,
+export const MEMBERS_TAB_TYPES = Object.freeze({
+  ...MEMBERS_TAB_TYPES_CE,
   promotionRequest: 'promotionRequest',
   banned: 'banned',
 });
 
 // eslint-disable-next-line import/export
 export const ACTION_BUTTONS = {
-  [MEMBER_TYPES.banned]: 'banned-action-buttons',
+  [MEMBERS_TAB_TYPES.banned]: 'banned-action-buttons',
 };
 
 // eslint-disable-next-line import/export
@@ -74,7 +74,7 @@ export const TAB_QUERY_PARAM_VALUES = Object.freeze({
 });
 
 const APP_OPTIONS_BASE = {
-  [MEMBER_TYPES.promotionRequest]: gon.features?.memberPromotionManagement,
+  [MEMBERS_TAB_TYPES.promotionRequest]: gon.features?.memberPromotionManagement,
 };
 
 const uniqueProjectDownloadLimitEnabled =
@@ -85,7 +85,7 @@ const uniqueProjectDownloadLimitEnabled =
 export const EE_GROUPS_APP_OPTIONS = uniqueProjectDownloadLimitEnabled
   ? {
       ...APP_OPTIONS_BASE,
-      [MEMBER_TYPES.banned]: {
+      [MEMBERS_TAB_TYPES.banned]: {
         tableFields: ['account', 'actions'],
         requestFormatter: groupMemberRequestFormatter,
       },
diff --git a/ee/app/assets/javascripts/members/tabs_metadata.js b/ee/app/assets/javascripts/members/tabs_metadata.js
index 021764ad74dcebb305d32f204f0ea3220a49e731..1837be5c536a6e29a8cad12645aa97cc51a0f706 100644
--- a/ee/app/assets/javascripts/members/tabs_metadata.js
+++ b/ee/app/assets/javascripts/members/tabs_metadata.js
@@ -2,12 +2,12 @@ import { __ } from '~/locale';
 import { TABS as CE_TABS } from '~/members/tabs_metadata';
 import PromotionRequestsTabApp from './promotion_requests/components/app.vue';
 import promotionRequestsTabStore from './promotion_requests/store/index';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from './constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from './constants';
 
 export const TABS = [
   ...CE_TABS,
   {
-    namespace: MEMBER_TYPES.promotionRequest,
+    namespace: MEMBERS_TAB_TYPES.promotionRequest,
     title: __('Promotions'),
     queryParamValue: TAB_QUERY_PARAM_VALUES.promotionRequest,
     component: PromotionRequestsTabApp,
@@ -15,7 +15,7 @@ export const TABS = [
     hideExportButton: true,
   },
   {
-    namespace: MEMBER_TYPES.banned,
+    namespace: MEMBERS_TAB_TYPES.banned,
     title: __('Banned'),
     queryParamValue: TAB_QUERY_PARAM_VALUES.banned,
   },
diff --git a/ee/spec/frontend/members/components/action_buttons/banned_action_buttons_spec.js b/ee/spec/frontend/members/components/action_buttons/banned_action_buttons_spec.js
index 4f178d95a4986ab164128c007d51a45eb797cbdf..7f683cfb3b8ff72accd64bf5c1c1932641852c76 100644
--- a/ee/spec/frontend/members/components/action_buttons/banned_action_buttons_spec.js
+++ b/ee/spec/frontend/members/components/action_buttons/banned_action_buttons_spec.js
@@ -4,7 +4,7 @@ import Vue from 'vue';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import BannedActionButtons from 'ee/members/components/action_buttons/banned_action_buttons.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { assertProps } from 'helpers/assert_props';
 import { bannedMember as member } from '../../mock_data';
 
@@ -22,7 +22,7 @@ describe('BannedActionButtons', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.banned]: {
+        [MEMBERS_TAB_TYPES.banned]: {
           namespaced: true,
           state: {
             memberPath: `${DEFAULT_MEMBERS_PATH}/:id`,
@@ -37,7 +37,7 @@ describe('BannedActionButtons', () => {
     wrapper = shallowMount(BannedActionButtons, {
       store: createStore(),
       provide: {
-        namespace: MEMBER_TYPES.banned,
+        namespace: MEMBERS_TAB_TYPES.banned,
       },
       propsData: {
         ...defaultProps,
diff --git a/ee/spec/frontend/members/components/action_dropdowns/ban_member_dropdown_item_spec.js b/ee/spec/frontend/members/components/action_dropdowns/ban_member_dropdown_item_spec.js
index ee2f0cecfa0a537ed5c692bb5903d37faefdfd10..6a1b3f9ed253a08204dc4cff5f53afb01b0e4a08 100644
--- a/ee/spec/frontend/members/components/action_dropdowns/ban_member_dropdown_item_spec.js
+++ b/ee/spec/frontend/members/components/action_dropdowns/ban_member_dropdown_item_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import BanMemberDropdownItem from 'ee/members/components/action_dropdowns/ban_member_dropdown_item.vue';
 import { member } from 'jest/members/mock_data';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 jest.mock('~/lib/utils/csrf', () => ({ token: 'mock-csrf-token' }));
 
@@ -19,7 +19,7 @@ describe('BanMemberDropdownItem', () => {
   const createStore = () => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: { memberPath: `${DEFAULT_MEMBERS_PATH}/:id` },
         },
@@ -30,7 +30,7 @@ describe('BanMemberDropdownItem', () => {
   const createComponent = () => {
     wrapper = shallowMount(BanMemberDropdownItem, {
       store: createStore(),
-      provide: { namespace: MEMBER_TYPES.user },
+      provide: { namespace: MEMBERS_TAB_TYPES.user },
       slots: { default: 'Dropdown item text' },
       propsData: { member },
     });
diff --git a/ee/spec/frontend/members/components/action_dropdowns/disable_two_factor_dropdown_item_spec.js b/ee/spec/frontend/members/components/action_dropdowns/disable_two_factor_dropdown_item_spec.js
index a1c81baf929dc4c472696961c9a0c6b1833ad611..44b2c1c3ad98f5c5b2b6e322ee966de0eca0e704 100644
--- a/ee/spec/frontend/members/components/action_dropdowns/disable_two_factor_dropdown_item_spec.js
+++ b/ee/spec/frontend/members/components/action_dropdowns/disable_two_factor_dropdown_item_spec.js
@@ -4,7 +4,7 @@ import Vue from 'vue';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import DisableTwoFactorDropdownItem from 'ee/members/components/action_dropdowns/disable_two_factor_dropdown_item.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -21,7 +21,7 @@ describe('DisableTwoFactorDropdownItem', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -37,7 +37,7 @@ describe('DisableTwoFactorDropdownItem', () => {
     wrapper = shallowMount(DisableTwoFactorDropdownItem, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData: {
         modalMessage,
diff --git a/ee/spec/frontend/members/components/action_dropdowns/ldap_dropdown_item_spec.js b/ee/spec/frontend/members/components/action_dropdowns/ldap_dropdown_item_spec.js
index c46cc458441243f8ad2b2acaf5e45eb61d614b85..8d70a4268758ceb3d4131936d4031f9817af9e61 100644
--- a/ee/spec/frontend/members/components/action_dropdowns/ldap_dropdown_item_spec.js
+++ b/ee/spec/frontend/members/components/action_dropdowns/ldap_dropdown_item_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import LdapDropdownFooter from 'ee/members/components/action_dropdowns/ldap_dropdown_footer.vue';
 import waitForPromises from 'helpers/wait_for_promises';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -23,7 +23,7 @@ describe('LdapDropdownFooter', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           actions,
         },
@@ -39,7 +39,7 @@ describe('LdapDropdownFooter', () => {
       },
       store: createStore(),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       mocks: {
         $toast,
diff --git a/ee/spec/frontend/members/components/action_dropdowns/ldap_override_dropdown_item_spec.js b/ee/spec/frontend/members/components/action_dropdowns/ldap_override_dropdown_item_spec.js
index 06418de6bf5b3c900b1a0ae1ab60e9a7726d1dc3..c1cfb755f0d78f3cda5ef803469916300ab6cb3e 100644
--- a/ee/spec/frontend/members/components/action_dropdowns/ldap_override_dropdown_item_spec.js
+++ b/ee/spec/frontend/members/components/action_dropdowns/ldap_override_dropdown_item_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import LdapOverrideDropdownItem from 'ee/members/components/action_dropdowns/ldap_override_dropdown_item.vue';
 import { member } from 'jest/members/mock_data';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -21,7 +21,7 @@ describe('LdapOverrideDropdownItem', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           actions,
         },
@@ -37,7 +37,7 @@ describe('LdapOverrideDropdownItem', () => {
       },
       store: createStore(),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       slots: {
         default: text,
diff --git a/ee/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js b/ee/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
index d87d2ccbad814b92a2bdda62daf0823d9c41f2df..c2fd2aadaf25384b29c59ac79e7fd358ad5f55db 100644
--- a/ee/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
+++ b/ee/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
@@ -7,7 +7,7 @@ import { member } from 'jest/members/mock_data';
 import { sprintf } from '~/locale';
 import UserActionDropdown from '~/members/components/action_dropdowns/user_action_dropdown.vue';
 import { I18N } from '~/members/components/action_dropdowns/constants';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { stubComponent } from 'helpers/stub_component';
 
 describe('UserActionDropdown', () => {
@@ -19,7 +19,7 @@ describe('UserActionDropdown', () => {
         BanMemberDropdownItem: stubComponent(BanMemberDropdownItem),
       },
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData: {
         member,
diff --git a/ee/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js b/ee/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
index 980d34a6faf8212788b54e37aa42b45f50ae8b99..79e1a82845390cb98b19cd101677f21d197ba2d1 100644
--- a/ee/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
+++ b/ee/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
@@ -6,7 +6,7 @@ import setWindowLocation from 'helpers/set_window_location_helper';
 import { visitUrl } from '~/lib/utils/url_utility';
 import { __ } from '~/locale';
 import MembersFilteredSearchBar from '~/members/components/filter_sort/members_filtered_search_bar.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { FILTERED_SEARCH_TOKEN_ENTERPRISE, FILTERED_SEARCH_USER_TYPE } from 'ee/members/constants';
 import FilteredSearchBar from '~/vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue';
 
@@ -28,7 +28,7 @@ describe('MembersFilteredSearchBar', () => {
   const createComponent = ({ state = {}, provide = {} } = {}) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             filteredSearchBar: {
@@ -49,7 +49,7 @@ describe('MembersFilteredSearchBar', () => {
         sourceId: 1,
         canManageMembers: true,
         canFilterByEnterprise: true,
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         ...provide,
       },
       store,
diff --git a/ee/spec/frontend/members/components/members_tabs_spec.js b/ee/spec/frontend/members/components/members_tabs_spec.js
index cd40228a29fa383112cf73fe222cd403c4ed7972..d730bf5dc0e05899b179fdb695952589f74f032b 100644
--- a/ee/spec/frontend/members/components/members_tabs_spec.js
+++ b/ee/spec/frontend/members/components/members_tabs_spec.js
@@ -7,7 +7,7 @@ import { mountExtended } from 'helpers/vue_test_utils_helper';
 import MembersApp from '~/members/components/app.vue';
 import MembersTabs from '~/members/components/members_tabs.vue';
 import { TABS } from 'ee_else_ce/members/tabs_metadata';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from 'ee_else_ce/members/constants';
 import setWindowLocation from 'helpers/set_window_location_helper';
 
 describe('MembersTabs', () => {
@@ -19,7 +19,7 @@ describe('MembersTabs', () => {
   const createComponent = ({ totalItems = 10 } = {}) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             pagination: {
@@ -31,7 +31,7 @@ describe('MembersTabs', () => {
             },
           },
         },
-        [MEMBER_TYPES.promotionRequest]: {
+        [MEMBERS_TAB_TYPES.promotionRequest]: {
           namespaced: true,
           state: {
             pagination: {
@@ -40,7 +40,7 @@ describe('MembersTabs', () => {
             },
           },
         },
-        [MEMBER_TYPES.banned]: {
+        [MEMBERS_TAB_TYPES.banned]: {
           namespaced: true,
           state: {
             pagination: {
@@ -87,12 +87,14 @@ describe('MembersTabs', () => {
     it('renders `MembersApp` and passes `namespace` and `tabQueryParamValue` props', () => {
       const membersApps = wrapper.findAllComponents(MembersApp).wrappers;
 
-      expect(membersApps[0].props('namespace')).toBe(MEMBER_TYPES.user);
-      expect(membersApps[1].props('namespace')).toBe(MEMBER_TYPES.banned);
+      expect(membersApps[0].props('namespace')).toBe(MEMBERS_TAB_TYPES.user);
+      expect(membersApps[1].props('namespace')).toBe(MEMBERS_TAB_TYPES.banned);
     });
 
     it('renders the custom component for Promotion Requests', () => {
-      const promotionsTabMeta = TABS.find((tab) => tab.namespace === MEMBER_TYPES.promotionRequest);
+      const promotionsTabMeta = TABS.find(
+        (tab) => tab.namespace === MEMBERS_TAB_TYPES.promotionRequest,
+      );
       expect(wrapper.findComponent(promotionsTabMeta.component).exists()).toBe(true);
     });
   });
diff --git a/ee/spec/frontend/members/components/modals/disable_two_factor_modal_spec.js b/ee/spec/frontend/members/components/modals/disable_two_factor_modal_spec.js
index 983eee75bc2a26226466cea58f5974911d6641e9..d968940131b59c323d9419b3d4d18152a73ee52c 100644
--- a/ee/spec/frontend/members/components/modals/disable_two_factor_modal_spec.js
+++ b/ee/spec/frontend/members/components/modals/disable_two_factor_modal_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import DisableTwoFactorModal from 'ee/members/components/modals/disable_two_factor_modal.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import {
   DISABLE_TWO_FACTOR_MODAL_ID,
   I18N_CANCEL,
@@ -31,7 +31,7 @@ describe('DisableTwoFactorModal', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             disableTwoFactorPath,
@@ -52,7 +52,7 @@ describe('DisableTwoFactorModal', () => {
     wrapper = mount(DisableTwoFactorModal, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       attrs: {
         static: true,
diff --git a/ee/spec/frontend/members/components/modals/ldap_override_confirmation_modal_spec.js b/ee/spec/frontend/members/components/modals/ldap_override_confirmation_modal_spec.js
index 4d1183619cc16bd85c0132c72d58098bf82be26d..6b2ef7a8f73bd69a3f6dac4423f9d0940ae1fdc9 100644
--- a/ee/spec/frontend/members/components/modals/ldap_override_confirmation_modal_spec.js
+++ b/ee/spec/frontend/members/components/modals/ldap_override_confirmation_modal_spec.js
@@ -8,7 +8,7 @@ import LdapOverrideConfirmationModal from 'ee/members/components/modals/ldap_ove
 import { LDAP_OVERRIDE_CONFIRMATION_MODAL_ID } from 'ee/members/constants';
 import waitForPromises from 'helpers/wait_for_promises';
 import { member } from 'jest/members/mock_data';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -33,7 +33,7 @@ describe('LdapOverrideConfirmationModal', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             memberToOverride: member,
@@ -50,7 +50,7 @@ describe('LdapOverrideConfirmationModal', () => {
     wrapper = mount(LdapOverrideConfirmationModal, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       attrs: {
         static: true,
diff --git a/ee/spec/frontend/members/components/table/expiration_datepicker_spec.js b/ee/spec/frontend/members/components/table/expiration_datepicker_spec.js
index 0a2c5b817716be55569b4ab909f317a067d8543f..b3efd4580eba512b903d3079813bbd9e050c34ae 100644
--- a/ee/spec/frontend/members/components/table/expiration_datepicker_spec.js
+++ b/ee/spec/frontend/members/components/table/expiration_datepicker_spec.js
@@ -2,7 +2,7 @@ import { GlDatepicker } from '@gitlab/ui';
 import { mount } from '@vue/test-utils';
 import { member } from 'jest/members/mock_data';
 import ExpirationDatepicker from '~/members/components/table/expiration_datepicker.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 describe('ExpirationDatepicker', () => {
   let wrapper;
@@ -10,7 +10,7 @@ describe('ExpirationDatepicker', () => {
   const createComponent = (propsData = {}) => {
     wrapper = mount(ExpirationDatepicker, {
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData,
     });
diff --git a/ee/spec/frontend/members/components/table/max_role_spec.js b/ee/spec/frontend/members/components/table/max_role_spec.js
index bb639abf2f8beebd94b96be0abbba4ecbc9d7622..ee796d802e7153b7b0f0da41d483a27731683349 100644
--- a/ee/spec/frontend/members/components/table/max_role_spec.js
+++ b/ee/spec/frontend/members/components/table/max_role_spec.js
@@ -8,7 +8,7 @@ import ManageRolesDropdownFooter from 'ee/members/components/action_dropdowns/ma
 import { guestOverageConfirmAction } from 'ee/members/guest_overage_confirm_action';
 import waitForPromises from 'helpers/wait_for_promises';
 import MaxRole from '~/members/components/table/max_role.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import { s__ } from '~/locale';
 import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
@@ -33,7 +33,7 @@ describe('MaxRole', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: { namespaced: true, actions },
+        [MEMBERS_TAB_TYPES.user]: { namespaced: true, actions },
       },
     });
   };
@@ -41,7 +41,7 @@ describe('MaxRole', () => {
   const createComponent = (propsData = {}, store = createStore()) => {
     wrapper = mountExtended(MaxRole, {
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         group: {
           name: 'groupname',
           path: '/grouppath/',
diff --git a/ee/spec/frontend/members/components/table/member_action_buttons_spec.js b/ee/spec/frontend/members/components/table/member_action_buttons_spec.js
index 33b1ff321a366a33e3a1ced3a39b8165fcae68cc..bf0ef3b0c6a6792722889abdfbd50175645ca5a9 100644
--- a/ee/spec/frontend/members/components/table/member_action_buttons_spec.js
+++ b/ee/spec/frontend/members/components/table/member_action_buttons_spec.js
@@ -12,7 +12,7 @@ import InviteActionButtons from '~/members/components/action_buttons/invite_acti
 import UserActionDropdown from '~/members/components/action_dropdowns/user_action_dropdown.vue';
 import MemberActions from '~/members/components/table/member_actions.vue';
 import BannedActionButtons from 'ee/members/components/action_buttons/banned_action_buttons.vue';
-import { MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import { stubComponent } from 'helpers/stub_component';
 
 describe('MemberActionButtons', () => {
@@ -33,12 +33,12 @@ describe('MemberActionButtons', () => {
   };
 
   it.each`
-    memberType                    | member           | expectedComponent             | expectedComponentName
-    ${MEMBER_TYPES.user}          | ${memberMock}    | ${UserActionDropdown}         | ${'UserActionDropdown'}
-    ${MEMBER_TYPES.group}         | ${group}         | ${GroupActionButtons}         | ${'GroupActionButtons'}
-    ${MEMBER_TYPES.invite}        | ${invite}        | ${InviteActionButtons}        | ${'InviteActionButtons'}
-    ${MEMBER_TYPES.accessRequest} | ${accessRequest} | ${AccessRequestActionButtons} | ${'AccessRequestActionButtons'}
-    ${MEMBER_TYPES.banned}        | ${bannedMember}  | ${BannedActionButtons}        | ${'BannedActionButtons'}
+    memberType                         | member           | expectedComponent             | expectedComponentName
+    ${MEMBERS_TAB_TYPES.user}          | ${memberMock}    | ${UserActionDropdown}         | ${'UserActionDropdown'}
+    ${MEMBERS_TAB_TYPES.group}         | ${group}         | ${GroupActionButtons}         | ${'GroupActionButtons'}
+    ${MEMBERS_TAB_TYPES.invite}        | ${invite}        | ${InviteActionButtons}        | ${'InviteActionButtons'}
+    ${MEMBERS_TAB_TYPES.accessRequest} | ${accessRequest} | ${AccessRequestActionButtons} | ${'AccessRequestActionButtons'}
+    ${MEMBERS_TAB_TYPES.banned}        | ${bannedMember}  | ${BannedActionButtons}        | ${'BannedActionButtons'}
   `(
     'renders $expectedComponentName when `memberType` is $memberType',
     ({ memberType, member, expectedComponent }) => {
diff --git a/ee/spec/frontend/members/components/table/member_avatar_spec.js b/ee/spec/frontend/members/components/table/member_avatar_spec.js
index 00e6b7a0cda619a8efec288caca269818ab9a889..66409d7c291d754afcdd991c7d00eb13034287b4 100644
--- a/ee/spec/frontend/members/components/table/member_avatar_spec.js
+++ b/ee/spec/frontend/members/components/table/member_avatar_spec.js
@@ -1,7 +1,7 @@
 import { shallowMount } from '@vue/test-utils';
 import UserAvatar from '~/members/components/avatars/user_avatar.vue';
 import MemberAvatar from '~/members/components/table/member_avatar.vue';
-import { MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 import { bannedMember } from 'ee_else_ce_jest/members/mock_data';
 
 describe('MemberAvatar', () => {
@@ -14,7 +14,7 @@ describe('MemberAvatar', () => {
   };
 
   it('renders UserAvatar', () => {
-    createComponent({ memberType: MEMBER_TYPES.banned, member: bannedMember });
+    createComponent({ memberType: MEMBERS_TAB_TYPES.banned, member: bannedMember });
 
     expect(wrapper.findComponent(UserAvatar).exists()).toBe(true);
   });
diff --git a/ee/spec/frontend/members/components/table/members_table_cell_spec.js b/ee/spec/frontend/members/components/table/members_table_cell_spec.js
index c4842257b1cbb6f04a0de3351bfaffa11f2814bd..de6aa0fac385b5587ca8e0b146951b65ad4e81ed 100644
--- a/ee/spec/frontend/members/components/table/members_table_cell_spec.js
+++ b/ee/spec/frontend/members/components/table/members_table_cell_spec.js
@@ -8,7 +8,7 @@ import {
   directMember,
   bannedMember,
 } from 'ee_else_ce_jest/members/mock_data';
-import { MEMBER_TYPES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee_else_ce/members/constants';
 
 describe('MemberTableCell', () => {
   const WrappedComponent = {
@@ -53,7 +53,7 @@ describe('MemberTableCell', () => {
       provide: {
         sourceId: 1,
         currentUserId: 1,
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         canManageMembers: true,
         ...provide,
       },
@@ -161,21 +161,21 @@ describe('MemberTableCell', () => {
 
   describe('memberType', () => {
     it('has memberType value from CE when user is not banned', () => {
-      createComponent({ member: directMember }, { namespace: MEMBER_TYPES.banned });
+      createComponent({ member: directMember }, { namespace: MEMBERS_TAB_TYPES.banned });
 
-      expect(findWrappedComponent().props('memberType')).not.toEqual(MEMBER_TYPES.banned);
+      expect(findWrappedComponent().props('memberType')).not.toEqual(MEMBERS_TAB_TYPES.banned);
     });
 
     it('has memberType value from CE when namespace is not banned', () => {
       createComponent({ member: directMember });
 
-      expect(findWrappedComponent().props('memberType')).not.toEqual(MEMBER_TYPES.banned);
+      expect(findWrappedComponent().props('memberType')).not.toEqual(MEMBERS_TAB_TYPES.banned);
     });
 
-    it('is `MEMBER_TYPES.banned` when namespace is `MEMBER_TYPES.banned` and user is banned', () => {
-      createComponent({ member: bannedMember }, { namespace: MEMBER_TYPES.banned });
+    it('is `MEMBERS_TAB_TYPES.banned` when namespace is `MEMBERS_TAB_TYPES.banned` and user is banned', () => {
+      createComponent({ member: bannedMember }, { namespace: MEMBERS_TAB_TYPES.banned });
 
-      expect(findWrappedComponent().props('memberType')).toEqual(MEMBER_TYPES.banned);
+      expect(findWrappedComponent().props('memberType')).toEqual(MEMBERS_TAB_TYPES.banned);
     });
   });
 });
diff --git a/ee/spec/frontend/members/components/table/members_table_spec.js b/ee/spec/frontend/members/components/table/members_table_spec.js
index 187ec57f3da5bb70f6f10fa4d62b1a12b1bd5e3e..2aae5e21b222133d74e4db1cd5be858810af5aac 100644
--- a/ee/spec/frontend/members/components/table/members_table_spec.js
+++ b/ee/spec/frontend/members/components/table/members_table_spec.js
@@ -10,7 +10,7 @@ import {
   bannedMember,
 } from 'ee_jest/members/mock_data';
 import MembersTable from '~/members/components/table/members_table.vue';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -20,7 +20,7 @@ describe('MemberList', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             members: [],
@@ -46,7 +46,7 @@ describe('MemberList', () => {
       provide: {
         sourceId: 1,
         currentUserId: 1,
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         canManageMembers: true,
       },
       stubs: [
diff --git a/ee/spec/frontend/members/index_spec.js b/ee/spec/frontend/members/index_spec.js
index 24ce048f38fd1669939a056b15d284faff3560a2..919726377af703042e659fb5e6d78dc86f60039f 100644
--- a/ee/spec/frontend/members/index_spec.js
+++ b/ee/spec/frontend/members/index_spec.js
@@ -1,4 +1,4 @@
-import { MEMBER_TYPES } from 'ee/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee/members/constants';
 import promotionRequestsTabStore from 'ee/members/promotion_requests/store';
 import { dataAttribute } from 'ee_jest/members/mock_data';
 import { initMembersApp } from '~/members/index';
@@ -16,8 +16,8 @@ describe('initMembersApp', () => {
 
   const setup = () => {
     vm = initMembersApp(el, {
-      [MEMBER_TYPES.user]: {},
-      [MEMBER_TYPES.promotionRequest]: {},
+      [MEMBERS_TAB_TYPES.user]: {},
+      [MEMBERS_TAB_TYPES.promotionRequest]: {},
     });
   };
 
@@ -33,7 +33,7 @@ describe('initMembersApp', () => {
   it('sets `disableTwoFactorPath` in Vuex store', () => {
     setup();
 
-    expect(vm.$store.state[MEMBER_TYPES.user].disableTwoFactorPath).toBe(
+    expect(vm.$store.state[MEMBERS_TAB_TYPES.user].disableTwoFactorPath).toBe(
       '/groups/ldap-group/-/two_factor_auth',
     );
   });
@@ -41,7 +41,7 @@ describe('initMembersApp', () => {
   it('sets `ldapOverridePath` in Vuex store', () => {
     setup();
 
-    expect(vm.$store.state[MEMBER_TYPES.user].ldapOverridePath).toBe(
+    expect(vm.$store.state[MEMBERS_TAB_TYPES.user].ldapOverridePath).toBe(
       '/groups/ldap-group/-/group_members/:id/override',
     );
   });
@@ -52,7 +52,7 @@ describe('initMembersApp', () => {
       setup();
 
       expect(promotionRequestsTabStore).toHaveBeenCalledWith(
-        parsedData[MEMBER_TYPES.promotionRequest],
+        parsedData[MEMBERS_TAB_TYPES.promotionRequest],
       );
     });
   });
diff --git a/ee/spec/frontend/members/mock_data.js b/ee/spec/frontend/members/mock_data.js
index 38f832c29d79abcfd775327c8b3494dfb5b76699..e2fb647f1cedba6484e68e153552f499fce5c36c 100644
--- a/ee/spec/frontend/members/mock_data.js
+++ b/ee/spec/frontend/members/mock_data.js
@@ -1,5 +1,5 @@
 import { member, dataAttribute as CEDataAttribute } from 'jest/members/mock_data';
-import { MEMBER_TYPES } from 'ee/members/constants';
+import { MEMBERS_TAB_TYPES } from 'ee/members/constants';
 import {
   data as promotionRequestsData,
   pagination as promotionRequestsPagination,
@@ -38,7 +38,7 @@ export const upgradedMember = {
 // eslint-disable-next-line import/export
 export const dataAttribute = JSON.stringify({
   ...JSON.parse(CEDataAttribute),
-  [MEMBER_TYPES.promotionRequest]: {
+  [MEMBERS_TAB_TYPES.promotionRequest]: {
     data: promotionRequestsData,
     pagination: promotionRequestsPagination,
   },
diff --git a/ee/spec/frontend/members/promotion_requests/components/app_spec.js b/ee/spec/frontend/members/promotion_requests/components/app_spec.js
index 1bc7418a18d24a18aeb6b492ff51103c4a381e92..db6ce8f007059de168ed9ccc8343397bf31f8142 100644
--- a/ee/spec/frontend/members/promotion_requests/components/app_spec.js
+++ b/ee/spec/frontend/members/promotion_requests/components/app_spec.js
@@ -4,7 +4,7 @@ import Vuex from 'vuex';
 import { GlTableLite } from '@gitlab/ui';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import PromotionRequestsApp from 'ee/members/promotion_requests/components/app.vue';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from 'ee_else_ce/members/constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from 'ee_else_ce/members/constants';
 import initStore from 'ee/members/promotion_requests/store/index';
 import MembersPagination from '~/members/components/table/members_pagination.vue';
 import UserAvatar from '~/members/components/avatars/user_avatar.vue';
@@ -20,13 +20,13 @@ describe('PromotionRequestsApp', () => {
   const createComponent = ({ pagination = mockPagination } = {}) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.promotionRequest]: initStore({ data: mockData, pagination }),
+        [MEMBERS_TAB_TYPES.promotionRequest]: initStore({ data: mockData, pagination }),
       },
     });
 
     wrapper = mountExtended(PromotionRequestsApp, {
       propsData: {
-        namespace: MEMBER_TYPES.promotionRequest,
+        namespace: MEMBERS_TAB_TYPES.promotionRequest,
         tabQueryParamValue: TAB_QUERY_PARAM_VALUES.promotionRequest,
       },
       provide: { canManageMembers: false },
diff --git a/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js b/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
index 3e88246ada09365a37c98b93abf5e7f8b0b69654..04ab7306441b2f57335aae0a34b320d974760c07 100644
--- a/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import ApproveAccessRequestButton from '~/members/components/action_buttons/approve_access_request_button.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 jest.mock('~/lib/utils/csrf', () => ({ token: 'mock-csrf-token' }));
 
@@ -17,7 +17,7 @@ describe('ApproveAccessRequestButton', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.accessRequest]: {
+        [MEMBERS_TAB_TYPES.accessRequest]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -32,7 +32,7 @@ describe('ApproveAccessRequestButton', () => {
     wrapper = shallowMount(ApproveAccessRequestButton, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.accessRequest,
+        namespace: MEMBERS_TAB_TYPES.accessRequest,
       },
       propsData: {
         memberId: 1,
diff --git a/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js b/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
index 24a936abc9952c12e7b176712603c35e316d2b49..10632ac9a3e9dd54db2bdba1b3d50eee4647523b 100644
--- a/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import RemoveGroupLinkButton from '~/members/components/action_buttons/remove_group_link_button.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { group } from '../../mock_data';
 
 Vue.use(Vuex);
@@ -20,7 +20,7 @@ describe('RemoveGroupLinkButton', () => {
   const createStore = () => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.group]: {
+        [MEMBERS_TAB_TYPES.group]: {
           namespaced: true,
           actions,
         },
@@ -32,7 +32,7 @@ describe('RemoveGroupLinkButton', () => {
     wrapper = mount(RemoveGroupLinkButton, {
       store: createStore(),
       provide: {
-        namespace: MEMBER_TYPES.group,
+        namespace: MEMBERS_TAB_TYPES.group,
       },
       propsData: {
         groupLink: group,
diff --git a/spec/frontend/members/components/action_buttons/remove_member_button_spec.js b/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
index 84393cb64eab41167541dffad926d91dde65f281..db4d6b3ffc0c027a2637f8c6b8139d148a3452de 100644
--- a/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
@@ -6,7 +6,7 @@ import Vuex from 'vuex';
 import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import { modalData } from 'jest/members/mock_data';
 import RemoveMemberButton from '~/members/components/action_buttons/remove_member_button.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -20,7 +20,7 @@ describe('RemoveMemberButton', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -36,7 +36,7 @@ describe('RemoveMemberButton', () => {
     wrapper = shallowMount(RemoveMemberButton, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData: {
         memberId: 1,
diff --git a/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js b/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
index 50facbf7f5dba09684161d2ffab1b5c3626b07e0..f7a3bde7a3cb5cf5abf5a7fc8d1b1cdee7216d69 100644
--- a/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import ResendInviteButton from '~/members/components/action_buttons/resend_invite_button.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 jest.mock('~/lib/utils/csrf', () => ({ token: 'mock-csrf-token' }));
 
@@ -17,7 +17,7 @@ describe('ResendInviteButton', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.invite]: {
+        [MEMBERS_TAB_TYPES.invite]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -32,7 +32,7 @@ describe('ResendInviteButton', () => {
     wrapper = shallowMount(ResendInviteButton, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.invite,
+        namespace: MEMBERS_TAB_TYPES.invite,
       },
       propsData: {
         memberId: 1,
diff --git a/spec/frontend/members/components/action_dropdowns/remove_member_dropdown_item_spec.js b/spec/frontend/members/components/action_dropdowns/remove_member_dropdown_item_spec.js
index be53c48c9fd786f565ddd569463d27498da1e676..a1dab869f52aed144957667abb5429544b1d1e25 100644
--- a/spec/frontend/members/components/action_dropdowns/remove_member_dropdown_item_spec.js
+++ b/spec/frontend/members/components/action_dropdowns/remove_member_dropdown_item_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import { modalData } from 'jest/members/mock_data';
 import RemoveMemberDropdownItem from '~/members/components/action_dropdowns/remove_member_dropdown_item.vue';
-import { MEMBER_TYPES, MEMBER_MODEL_TYPE_GROUP_MEMBER } from '~/members/constants';
+import { MEMBERS_TAB_TYPES, MEMBER_MODEL_TYPE_GROUP_MEMBER } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -20,7 +20,7 @@ describe('RemoveMemberDropdownItem', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -36,7 +36,7 @@ describe('RemoveMemberDropdownItem', () => {
     wrapper = shallowMount(RemoveMemberDropdownItem, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData: {
         memberId: 1,
diff --git a/spec/frontend/members/components/app_spec.js b/spec/frontend/members/components/app_spec.js
index 929a5a054e64e0dcdda554d6365763569d046d34..806ebf9dd8d9d1ae2001438f9f2071e4f4529639 100644
--- a/spec/frontend/members/components/app_spec.js
+++ b/spec/frontend/members/components/app_spec.js
@@ -7,7 +7,7 @@ import * as commonUtils from '~/lib/utils/common_utils';
 import MembersApp from '~/members/components/app.vue';
 import FilterSortContainer from '~/members/components/filter_sort/filter_sort_container.vue';
 import MembersTable from '~/members/components/table/members_table.vue';
-import { MEMBER_TYPES, TAB_QUERY_PARAM_VALUES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES, TAB_QUERY_PARAM_VALUES } from '~/members/constants';
 import { RECEIVE_MEMBER_ROLE_ERROR, HIDE_ERROR } from '~/members/store/mutation_types';
 import mutations from '~/members/store/mutations';
 
@@ -20,7 +20,7 @@ describe('MembersApp', () => {
   const createComponent = (state = {}, options = {}) => {
     store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.group]: {
+        [MEMBERS_TAB_TYPES.group]: {
           namespaced: true,
           state: {
             showError: true,
@@ -34,7 +34,7 @@ describe('MembersApp', () => {
 
     wrapper = shallowMount(MembersApp, {
       propsData: {
-        namespace: MEMBER_TYPES.group,
+        namespace: MEMBERS_TAB_TYPES.group,
         tabQueryParamValue: TAB_QUERY_PARAM_VALUES.group,
       },
       store,
@@ -57,7 +57,7 @@ describe('MembersApp', () => {
     it('renders and scrolls to error alert', async () => {
       createComponent({ showError: false, errorMessage: '' });
 
-      store.commit(`${MEMBER_TYPES.group}/${RECEIVE_MEMBER_ROLE_ERROR}`, {
+      store.commit(`${MEMBERS_TAB_TYPES.group}/${RECEIVE_MEMBER_ROLE_ERROR}`, {
         error: new Error('Network Error'),
       });
 
@@ -77,7 +77,7 @@ describe('MembersApp', () => {
     it('does not render and scroll to error alert', async () => {
       createComponent();
 
-      store.commit(`${MEMBER_TYPES.group}/${HIDE_ERROR}`);
+      store.commit(`${MEMBERS_TAB_TYPES.group}/${HIDE_ERROR}`);
 
       await nextTick();
 
diff --git a/spec/frontend/members/components/filter_sort/filter_sort_container_spec.js b/spec/frontend/members/components/filter_sort/filter_sort_container_spec.js
index 6bb51b4633c95ef388a3d706b2dd8c147d6df69f..6c7d9e17eb408fe87bb8049b3e7179bfcc7f10a6 100644
--- a/spec/frontend/members/components/filter_sort/filter_sort_container_spec.js
+++ b/spec/frontend/members/components/filter_sort/filter_sort_container_spec.js
@@ -5,7 +5,7 @@ import Vuex from 'vuex';
 import FilterSortContainer from '~/members/components/filter_sort/filter_sort_container.vue';
 import MembersFilteredSearchBar from '~/members/components/filter_sort/members_filtered_search_bar.vue';
 import SortDropdown from '~/members/components/filter_sort/sort_dropdown.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -15,7 +15,7 @@ describe('FilterSortContainer', () => {
   const createComponent = (state) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             filteredSearchBar: {
@@ -35,7 +35,7 @@ describe('FilterSortContainer', () => {
     wrapper = shallowMount(FilterSortContainer, {
       store,
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
     });
   };
diff --git a/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js b/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
index 86fb30568b4dc210eeaf4cbb723fc50b3ea91a9e..bdaf9fbb2987ceff1a0c9efcd44f82bd929d816e 100644
--- a/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
+++ b/spec/frontend/members/components/filter_sort/members_filtered_search_bar_spec.js
@@ -6,7 +6,7 @@ import setWindowLocation from 'helpers/set_window_location_helper';
 import { visitUrl } from '~/lib/utils/url_utility';
 import MembersFilteredSearchBar from '~/members/components/filter_sort/members_filtered_search_bar.vue';
 import {
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   FILTERED_SEARCH_TOKEN_TWO_FACTOR,
   FILTERED_SEARCH_TOKEN_WITH_INHERITED_PERMISSIONS,
 } from '~/members/constants';
@@ -31,7 +31,7 @@ describe('MembersFilteredSearchBar', () => {
   const createComponent = ({ state = {}, provide = {} } = {}) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             filteredSearchBar: {
@@ -51,7 +51,7 @@ describe('MembersFilteredSearchBar', () => {
       provide: {
         sourceId: 1,
         canManageMembers: true,
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         ...provide,
       },
       store,
diff --git a/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js b/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js
index 1f98d0e7ce08c4ca31f7caddac19a03cc80e7d8e..e62e8065398963b23368ab23a3a0dc96eeb909c6 100644
--- a/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js
+++ b/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js
@@ -6,7 +6,7 @@ import Vuex from 'vuex';
 import setWindowLocation from 'helpers/set_window_location_helper';
 import * as urlUtilities from '~/lib/utils/url_utility';
 import SortDropdown from '~/members/components/filter_sort/sort_dropdown.vue';
-import { MEMBER_TYPES, FIELD_KEY_MAX_ROLE } from '~/members/constants';
+import { MEMBERS_TAB_TYPES, FIELD_KEY_MAX_ROLE } from '~/members/constants';
 
 Vue.use(Vuex);
 
@@ -18,7 +18,7 @@ describe('SortDropdown', () => {
   const createComponent = (state) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             tableSortableFields: ['account', 'granted', 'expires', 'maxRole', 'lastSignIn'],
@@ -38,7 +38,7 @@ describe('SortDropdown', () => {
     wrapper = mount(SortDropdown, {
       provide: {
         sourceId: 1,
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       store,
     });
diff --git a/spec/frontend/members/components/members_tabs_spec.js b/spec/frontend/members/components/members_tabs_spec.js
index adb940fbfe0105aea06d9486d2218f33489aa817..086d54e8d37b1158944a76ba9be33e4159423855 100644
--- a/spec/frontend/members/components/members_tabs_spec.js
+++ b/spec/frontend/members/components/members_tabs_spec.js
@@ -7,7 +7,7 @@ import { mountExtended } from 'helpers/vue_test_utils_helper';
 import MembersApp from '~/members/components/app.vue';
 import MembersTabs from '~/members/components/members_tabs.vue';
 import {
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   TAB_QUERY_PARAM_VALUES,
   ACTIVE_TAB_QUERY_PARAM_NAME,
   FILTERED_SEARCH_TOKEN_GROUPS_WITH_INHERITED_PERMISSIONS,
@@ -23,7 +23,7 @@ describe('MembersTabs', () => {
   const createComponent = ({ totalItems = 10, provide = {} } = {}) => {
     const store = new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             pagination: {
@@ -35,7 +35,7 @@ describe('MembersTabs', () => {
             },
           },
         },
-        [MEMBER_TYPES.group]: {
+        [MEMBERS_TAB_TYPES.group]: {
           namespaced: true,
           state: {
             pagination: {
@@ -49,7 +49,7 @@ describe('MembersTabs', () => {
             },
           },
         },
-        [MEMBER_TYPES.invite]: {
+        [MEMBERS_TAB_TYPES.invite]: {
           namespaced: true,
           state: {
             pagination: {
@@ -62,7 +62,7 @@ describe('MembersTabs', () => {
             },
           },
         },
-        [MEMBER_TYPES.accessRequest]: {
+        [MEMBERS_TAB_TYPES.accessRequest]: {
           namespaced: true,
           state: {
             pagination: {
@@ -132,10 +132,10 @@ describe('MembersTabs', () => {
 
       const membersApps = wrapper.findAllComponents(MembersApp).wrappers;
 
-      expect(membersApps[0].props('namespace')).toBe(MEMBER_TYPES.user);
-      expect(membersApps[1].props('namespace')).toBe(MEMBER_TYPES.group);
-      expect(membersApps[2].props('namespace')).toBe(MEMBER_TYPES.invite);
-      expect(membersApps[3].props('namespace')).toBe(MEMBER_TYPES.accessRequest);
+      expect(membersApps[0].props('namespace')).toBe(MEMBERS_TAB_TYPES.user);
+      expect(membersApps[1].props('namespace')).toBe(MEMBERS_TAB_TYPES.group);
+      expect(membersApps[2].props('namespace')).toBe(MEMBERS_TAB_TYPES.invite);
+      expect(membersApps[3].props('namespace')).toBe(MEMBERS_TAB_TYPES.accessRequest);
 
       expect(membersApps[1].props('tabQueryParamValue')).toBe(TAB_QUERY_PARAM_VALUES.group);
       expect(membersApps[2].props('tabQueryParamValue')).toBe(TAB_QUERY_PARAM_VALUES.invite);
diff --git a/spec/frontend/members/components/modals/leave_modal_spec.js b/spec/frontend/members/components/modals/leave_modal_spec.js
index 95a4fb078536036e51c2048047e82aad6a76ea81..3b2b8cee08f3a85c2cbb7894ceb42d9d320800cb 100644
--- a/spec/frontend/members/components/modals/leave_modal_spec.js
+++ b/spec/frontend/members/components/modals/leave_modal_spec.js
@@ -7,7 +7,7 @@ import { mountExtended, extendedWrapper } from 'helpers/vue_test_utils_helper';
 import LeaveModal from '~/members/components/modals/leave_modal.vue';
 import {
   LEAVE_MODAL_ID,
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   MEMBER_MODEL_TYPE_PROJECT_MEMBER,
 } from '~/members/constants';
 import UserDeletionObstaclesList from '~/vue_shared/components/user_deletion_obstacles/user_deletion_obstacles_list.vue';
@@ -24,7 +24,7 @@ describe('LeaveModal', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_members/:id',
@@ -39,7 +39,7 @@ describe('LeaveModal', () => {
     wrapper = mountExtended(LeaveModal, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       propsData: {
         member,
diff --git a/spec/frontend/members/components/modals/remove_group_link_modal_spec.js b/spec/frontend/members/components/modals/remove_group_link_modal_spec.js
index bde33528eb8f32a63975a269cad25273eab5e498..6f3a5141772cceea8bb35f3f8233736a48370263 100644
--- a/spec/frontend/members/components/modals/remove_group_link_modal_spec.js
+++ b/spec/frontend/members/components/modals/remove_group_link_modal_spec.js
@@ -5,7 +5,7 @@ import Vue, { nextTick } from 'vue';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import RemoveGroupLinkModal from '~/members/components/modals/remove_group_link_modal.vue';
-import { REMOVE_GROUP_LINK_MODAL_ID, MEMBER_TYPES } from '~/members/constants';
+import { REMOVE_GROUP_LINK_MODAL_ID, MEMBERS_TAB_TYPES } from '~/members/constants';
 import { group } from '../../mock_data';
 
 jest.mock('~/lib/utils/csrf', () => ({ token: 'mock-csrf-token' }));
@@ -22,7 +22,7 @@ describe('RemoveGroupLinkModal', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.group]: {
+        [MEMBERS_TAB_TYPES.group]: {
           namespaced: true,
           state: {
             memberPath: '/groups/foo-bar/-/group_links/:id',
@@ -40,7 +40,7 @@ describe('RemoveGroupLinkModal', () => {
     wrapper = mount(RemoveGroupLinkModal, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.group,
+        namespace: MEMBERS_TAB_TYPES.group,
       },
       attrs: {
         static: true,
diff --git a/spec/frontend/members/components/modals/remove_member_modal_spec.js b/spec/frontend/members/components/modals/remove_member_modal_spec.js
index 01138ff845dc205ec438ee2830bd9d4c9a37dad9..acb873263000e81fb2ec1d9845f2a647771413ee 100644
--- a/spec/frontend/members/components/modals/remove_member_modal_spec.js
+++ b/spec/frontend/members/components/modals/remove_member_modal_spec.js
@@ -5,7 +5,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import RemoveMemberModal from '~/members/components/modals/remove_member_modal.vue';
 import {
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   MEMBER_MODEL_TYPE_GROUP_MEMBER,
   MEMBER_MODEL_TYPE_PROJECT_MEMBER,
 } from '~/members/constants';
@@ -32,7 +32,7 @@ describe('RemoveMemberModal', () => {
   const createStore = (removeMemberModalData) =>
     new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           namespaced: true,
           state: {
             removeMemberModalData,
@@ -46,7 +46,7 @@ describe('RemoveMemberModal', () => {
     wrapper = shallowMount(RemoveMemberModal, {
       store: createStore(state),
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
     });
   };
diff --git a/spec/frontend/members/components/table/expiration_datepicker_spec.js b/spec/frontend/members/components/table/expiration_datepicker_spec.js
index d9847abda52b87ce770a94f75ddddd12a0ab2304..67e8ef831f145fe3f5495d09f18f38f2f2d3a8b7 100644
--- a/spec/frontend/members/components/table/expiration_datepicker_spec.js
+++ b/spec/frontend/members/components/table/expiration_datepicker_spec.js
@@ -6,7 +6,7 @@ import Vuex from 'vuex';
 import { useFakeDate } from 'helpers/fake_date';
 import waitForPromises from 'helpers/wait_for_promises';
 import ExpirationDatepicker from '~/members/components/table/expiration_datepicker.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { member } from '../../mock_data';
 
 Vue.use(Vuex);
@@ -34,7 +34,7 @@ describe('ExpirationDatepicker', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: { namespaced: true, actions },
+        [MEMBERS_TAB_TYPES.user]: { namespaced: true, actions },
       },
     });
   };
@@ -47,7 +47,7 @@ describe('ExpirationDatepicker', () => {
         ...propsData,
       },
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
       },
       store: createStore(),
       mocks: {
diff --git a/spec/frontend/members/components/table/max_role_spec.js b/spec/frontend/members/components/table/max_role_spec.js
index 6c086ee813ac7d271a19e9b220def1d75b0c40be..5d99671c45d535d87b371a396d0179581e8d229d 100644
--- a/spec/frontend/members/components/table/max_role_spec.js
+++ b/spec/frontend/members/components/table/max_role_spec.js
@@ -7,7 +7,7 @@ import Vuex from 'vuex';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import waitForPromises from 'helpers/wait_for_promises';
 import MaxRole from '~/members/components/table/max_role.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { guestOverageConfirmAction } from 'ee_else_ce/members/guest_overage_confirm_action';
 import { logError } from '~/lib/logger';
 import * as utils from 'ee_else_ce/members/utils';
@@ -36,7 +36,7 @@ describe('MaxRole', () => {
 
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.user]: { namespaced: true, actions },
+        [MEMBERS_TAB_TYPES.user]: { namespaced: true, actions },
       },
     });
   };
@@ -44,7 +44,7 @@ describe('MaxRole', () => {
   const createComponent = (propsData = {}, store = createStore()) => {
     wrapper = mount(MaxRole, {
       provide: {
-        namespace: MEMBER_TYPES.user,
+        namespace: MEMBERS_TAB_TYPES.user,
         group: {
           name: 'groupname',
           path: '/grouppath/',
diff --git a/spec/frontend/members/components/table/member_action_buttons_spec.js b/spec/frontend/members/components/table/member_action_buttons_spec.js
index 3a04d1dcb0aad4a3f44e8bd62a50888bc588c859..c8080908ff5d3b05be21ec746157963c2c5838ff 100644
--- a/spec/frontend/members/components/table/member_action_buttons_spec.js
+++ b/spec/frontend/members/components/table/member_action_buttons_spec.js
@@ -4,7 +4,7 @@ import GroupActionButtons from '~/members/components/action_buttons/group_action
 import InviteActionButtons from '~/members/components/action_buttons/invite_action_buttons.vue';
 import UserActionDropdown from '~/members/components/action_dropdowns/user_action_dropdown.vue';
 import MemberActions from '~/members/components/table/member_actions.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { member as memberMock, group, invite, accessRequest } from '../../mock_data';
 
 describe('MemberActions', () => {
@@ -24,11 +24,11 @@ describe('MemberActions', () => {
   };
 
   it.each`
-    memberType                    | member           | expectedComponent             | expectedComponentName
-    ${MEMBER_TYPES.user}          | ${memberMock}    | ${UserActionDropdown}         | ${'UserActionDropdown'}
-    ${MEMBER_TYPES.group}         | ${group}         | ${GroupActionButtons}         | ${'GroupActionButtons'}
-    ${MEMBER_TYPES.invite}        | ${invite}        | ${InviteActionButtons}        | ${'InviteActionButtons'}
-    ${MEMBER_TYPES.accessRequest} | ${accessRequest} | ${AccessRequestActionButtons} | ${'AccessRequestActionButtons'}
+    memberType                         | member           | expectedComponent             | expectedComponentName
+    ${MEMBERS_TAB_TYPES.user}          | ${memberMock}    | ${UserActionDropdown}         | ${'UserActionDropdown'}
+    ${MEMBERS_TAB_TYPES.group}         | ${group}         | ${GroupActionButtons}         | ${'GroupActionButtons'}
+    ${MEMBERS_TAB_TYPES.invite}        | ${invite}        | ${InviteActionButtons}        | ${'InviteActionButtons'}
+    ${MEMBERS_TAB_TYPES.accessRequest} | ${accessRequest} | ${AccessRequestActionButtons} | ${'AccessRequestActionButtons'}
   `(
     'renders $expectedComponentName when `memberType` is $memberType',
     ({ memberType, member, expectedComponent }) => {
diff --git a/spec/frontend/members/components/table/member_avatar_spec.js b/spec/frontend/members/components/table/member_avatar_spec.js
index 369f8a06cfd852d4817ed634ddb7fd4ee6e5c420..f45921a250199bab560aacf1689f755199820c6b 100644
--- a/spec/frontend/members/components/table/member_avatar_spec.js
+++ b/spec/frontend/members/components/table/member_avatar_spec.js
@@ -3,7 +3,7 @@ import GroupAvatar from '~/members/components/avatars/group_avatar.vue';
 import InviteAvatar from '~/members/components/avatars/invite_avatar.vue';
 import UserAvatar from '~/members/components/avatars/user_avatar.vue';
 import MemberAvatar from '~/members/components/table/member_avatar.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { member as memberMock, group, invite, accessRequest } from '../../mock_data';
 
 describe('MemberList', () => {
@@ -19,11 +19,11 @@ describe('MemberList', () => {
   };
 
   it.each`
-    memberType                    | member           | expectedComponent | expectedComponentName
-    ${MEMBER_TYPES.user}          | ${memberMock}    | ${UserAvatar}     | ${'UserAvatar'}
-    ${MEMBER_TYPES.group}         | ${group}         | ${GroupAvatar}    | ${'GroupAvatar'}
-    ${MEMBER_TYPES.invite}        | ${invite}        | ${InviteAvatar}   | ${'InviteAvatar'}
-    ${MEMBER_TYPES.accessRequest} | ${accessRequest} | ${UserAvatar}     | ${'UserAvatar'}
+    memberType                         | member           | expectedComponent | expectedComponentName
+    ${MEMBERS_TAB_TYPES.user}          | ${memberMock}    | ${UserAvatar}     | ${'UserAvatar'}
+    ${MEMBERS_TAB_TYPES.group}         | ${group}         | ${GroupAvatar}    | ${'GroupAvatar'}
+    ${MEMBERS_TAB_TYPES.invite}        | ${invite}        | ${InviteAvatar}   | ${'InviteAvatar'}
+    ${MEMBERS_TAB_TYPES.accessRequest} | ${accessRequest} | ${UserAvatar}     | ${'UserAvatar'}
   `(
     'renders $expectedComponentName when `memberType` is $memberType',
     ({ memberType, member, expectedComponent }) => {
diff --git a/spec/frontend/members/components/table/members_table_cell_spec.js b/spec/frontend/members/components/table/members_table_cell_spec.js
index 099fe7b4b8a520fdeddcc5412b198c91d9e7ba75..8b5e6f84ba4e9334c3d4d46eb07a35a55a28a48d 100644
--- a/spec/frontend/members/components/table/members_table_cell_spec.js
+++ b/spec/frontend/members/components/table/members_table_cell_spec.js
@@ -3,7 +3,7 @@ import Vue from 'vue';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import MembersTableCell from '~/members/components/table/members_table_cell.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { canRemoveBlockedByLastOwner } from '~/members/utils';
 import {
   member as memberMock,
@@ -100,10 +100,10 @@ describe('MembersTableCell', () => {
 
   it.each`
     member           | expectedMemberType
-    ${memberMock}    | ${MEMBER_TYPES.user}
-    ${group}         | ${MEMBER_TYPES.group}
-    ${invite}        | ${MEMBER_TYPES.invite}
-    ${accessRequest} | ${MEMBER_TYPES.accessRequest}
+    ${memberMock}    | ${MEMBERS_TAB_TYPES.user}
+    ${group}         | ${MEMBERS_TAB_TYPES.group}
+    ${invite}        | ${MEMBERS_TAB_TYPES.invite}
+    ${accessRequest} | ${MEMBERS_TAB_TYPES.accessRequest}
   `(
     'sets scoped slot prop `memberType` to $expectedMemberType',
     ({ member, expectedMemberType }) => {
diff --git a/spec/frontend/members/components/table/members_table_spec.js b/spec/frontend/members/components/table/members_table_spec.js
index 242efbbbabe0166e46e89c48a909d7018ba0ae10..2cdf152b7f3914fbc81efc872aef6d926ac58855 100644
--- a/spec/frontend/members/components/table/members_table_spec.js
+++ b/spec/frontend/members/components/table/members_table_spec.js
@@ -15,7 +15,7 @@ import MembersPagination from '~/members/components/table/members_pagination.vue
 import MaxRole from '~/members/components/table/max_role.vue';
 import RoleDetailsDrawer from '~/members/components/table/role_details_drawer.vue';
 import {
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   MEMBER_STATE_CREATED,
   MEMBER_STATE_AWAITING,
   MEMBER_STATE_ACTIVE,
@@ -42,7 +42,7 @@ describe('MembersTable', () => {
   const createStore = (state = {}) => {
     return new Vuex.Store({
       modules: {
-        [MEMBER_TYPES.invite]: {
+        [MEMBERS_TAB_TYPES.invite]: {
           namespaced: true,
           state: {
             members: [],
@@ -68,7 +68,7 @@ describe('MembersTable', () => {
         sourceId: 1,
         currentUserId: 1,
         canManageMembers: true,
-        namespace: MEMBER_TYPES.invite,
+        namespace: MEMBERS_TAB_TYPES.invite,
         namespaceReachedLimit: false,
         namespaceUserLimit: 1,
         glFeatures: { showRoleDetailsInDrawer },
diff --git a/spec/frontend/members/index_spec.js b/spec/frontend/members/index_spec.js
index e453a21ae3a69bfcdb417f27bcbd23763f16461d..71686fd6bda532b436592781bcd18e0a40e39b94 100644
--- a/spec/frontend/members/index_spec.js
+++ b/spec/frontend/members/index_spec.js
@@ -1,6 +1,6 @@
 import { createWrapper } from '@vue/test-utils';
 import MembersTabs from '~/members/components/members_tabs.vue';
-import { MEMBER_TYPES } from '~/members/constants';
+import { MEMBERS_TAB_TYPES } from '~/members/constants';
 import { initMembersApp } from '~/members/index';
 import membersStore from '~/members/store';
 import { parseDataAttributes } from '~/members/utils';
@@ -17,7 +17,7 @@ describe('initMembersApp', () => {
   let wrapper;
 
   const options = {
-    [MEMBER_TYPES.user]: {
+    [MEMBERS_TAB_TYPES.user]: {
       tableFields: ['account'],
       tableAttrs: { table: { 'data-testid': 'members-list' } },
       tableSortableFields: ['account'],
@@ -54,8 +54,8 @@ describe('initMembersApp', () => {
       setup();
 
       expect(membersStore).toHaveBeenCalledWith({
-        ...parsedData[MEMBER_TYPES.user],
-        ...options[MEMBER_TYPES.user],
+        ...parsedData[MEMBERS_TAB_TYPES.user],
+        ...options[MEMBERS_TAB_TYPES.user],
       });
     });
   });
diff --git a/spec/frontend/members/mock_data.js b/spec/frontend/members/mock_data.js
index b7aa31dae576f03fa2d862fcc7372b3c8605511a..b40a2caf3c01dc34fe2034dfb35f2ac3fb9dcefe 100644
--- a/spec/frontend/members/mock_data.js
+++ b/spec/frontend/members/mock_data.js
@@ -1,5 +1,5 @@
 import {
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   MEMBER_STATE_CREATED,
   MEMBER_MODEL_TYPE_GROUP_MEMBER,
 } from '~/members/constants';
@@ -156,7 +156,7 @@ export const pagination = {
 };
 
 export const dataAttribute = JSON.stringify({
-  [MEMBER_TYPES.user]: {
+  [MEMBERS_TAB_TYPES.user]: {
     members,
     pagination: paginationData,
     member_path: '/groups/foo-bar/-/group_members/:id',
diff --git a/spec/frontend/members/utils_spec.js b/spec/frontend/members/utils_spec.js
index 874ad64c5e5dee5fdeaae69b755384095dcd72b1..2c252b36478c031cfe9c624e9f9087500532910b 100644
--- a/spec/frontend/members/utils_spec.js
+++ b/spec/frontend/members/utils_spec.js
@@ -1,7 +1,7 @@
 import setWindowLocation from 'helpers/set_window_location_helper';
 import {
   DEFAULT_SORT,
-  MEMBER_TYPES,
+  MEMBERS_TAB_TYPES,
   I18N_USER_YOU,
   I18N_USER_BLOCKED,
   I18N_USER_BOT,
@@ -306,7 +306,7 @@ describe('Members Utils', () => {
 
     it('correctly parses the data attribute', () => {
       expect(parseDataAttributes(el)).toMatchObject({
-        [MEMBER_TYPES.user]: {
+        [MEMBERS_TAB_TYPES.user]: {
           members,
           pagination,
           memberPath: '/groups/foo-bar/-/group_members/:id',