diff --git a/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt b/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
index c0d309fe5b..1bde66f6d1 100644
--- a/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
@@ -40,7 +40,7 @@ abstract class GenericFooterItem : VectorEpoxyModel<GenericFooterItem.Holder>()
     var text: CharSequence? = null
 
     @EpoxyAttribute
-    var style: GenericItem.STYLE = GenericItem.STYLE.NORMAL_TEXT
+    var style: ItemStyle = ItemStyle.NORMAL_TEXT
 
     @EpoxyAttribute
     var itemClickAction: GenericItem.Action? = null
@@ -56,16 +56,8 @@ abstract class GenericFooterItem : VectorEpoxyModel<GenericFooterItem.Holder>()
         super.bind(holder)
 
         holder.text.setTextOrHide(text)
-        holder.text.typeface = Typeface.DEFAULT
-        when (style) {
-            GenericItem.STYLE.BIG_TEXT    -> holder.text.textSize = 18f
-            GenericItem.STYLE.NORMAL_TEXT -> holder.text.textSize = 14f
-            GenericItem.STYLE.SUBHEADER -> holder.text.textSize = 16f
-            GenericItem.STYLE.TITLE -> {
-                holder.text.textSize = 20f
-                holder.text.typeface = Typeface.DEFAULT_BOLD
-            }
-        }
+        holder.text.typeface = style.toTypeFace()
+        holder.text.textSize = style.toTextSize()
         holder.text.gravity = if (centered) Gravity.CENTER_HORIZONTAL else Gravity.START
 
         if (textColor != null) {
diff --git a/vector/src/main/java/im/vector/app/core/ui/list/GenericItem.kt b/vector/src/main/java/im/vector/app/core/ui/list/GenericItem.kt
index 01d318a25b..8a01183915 100644
--- a/vector/src/main/java/im/vector/app/core/ui/list/GenericItem.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/list/GenericItem.kt
@@ -38,13 +38,6 @@ import im.vector.app.core.extensions.setTextOrHide
 @EpoxyModelClass(layout = R.layout.item_generic_list)
 abstract class GenericItem : VectorEpoxyModel<GenericItem.Holder>() {
 
-    enum class STYLE {
-        BIG_TEXT,
-        NORMAL_TEXT,
-        TITLE,
-        SUBHEADER
-    }
-
     class Action(var title: String) {
         var perform: Runnable? = null
     }
@@ -56,7 +49,7 @@ abstract class GenericItem : VectorEpoxyModel<GenericItem.Holder>() {
     var description: CharSequence? = null
 
     @EpoxyAttribute
-    var style: STYLE = STYLE.NORMAL_TEXT
+    var style: ItemStyle = ItemStyle.NORMAL_TEXT
 
     @EpoxyAttribute
     @DrawableRes
@@ -89,12 +82,7 @@ abstract class GenericItem : VectorEpoxyModel<GenericItem.Holder>() {
             holder.titleIcon.isVisible = false
         }
 
-        holder.titleText.textSize =  when (style) {
-            STYLE.BIG_TEXT    -> 18f
-            STYLE.NORMAL_TEXT -> 14f
-            STYLE.TITLE       -> 20f
-            STYLE.SUBHEADER   -> 16f
-        }
+        holder.titleText.textSize = style.toTextSize()
 
         holder.descriptionText.setTextOrHide(description)
 
diff --git a/vector/src/main/java/im/vector/app/core/ui/list/ItemStyle.kt b/vector/src/main/java/im/vector/app/core/ui/list/ItemStyle.kt
new file mode 100644
index 0000000000..b98d29040d
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/core/ui/list/ItemStyle.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2021 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package im.vector.app.core.ui.list
+
+import android.graphics.Typeface
+
+enum class ItemStyle {
+    BIG_TEXT,
+    NORMAL_TEXT,
+    TITLE,
+    SUBHEADER;
+
+    fun toTypeFace(): Typeface {
+        return if (this == TITLE) {
+            Typeface.DEFAULT_BOLD
+        } else {
+            Typeface.DEFAULT
+        }
+    }
+
+    fun toTextSize(): Float {
+        return when (this) {
+            BIG_TEXT    -> 18f
+            NORMAL_TEXT -> 14f
+            TITLE       -> 20f
+            SUBHEADER   -> 16f
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsRecyclerViewController.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsRecyclerViewController.kt
index bfdb297b23..ca5f88968a 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsRecyclerViewController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsRecyclerViewController.kt
@@ -26,7 +26,7 @@ import im.vector.app.R
 import im.vector.app.core.epoxy.errorWithRetryItem
 import im.vector.app.core.epoxy.loadingItem
 import im.vector.app.core.resources.StringProvider
-import im.vector.app.core.ui.list.GenericItem
+import im.vector.app.core.ui.list.ItemStyle
 import im.vector.app.core.ui.list.genericItem
 import im.vector.app.features.settings.VectorPreferences
 import org.matrix.android.sdk.api.session.Session
@@ -72,7 +72,7 @@ class KeysBackupSettingsRecyclerViewController @Inject constructor(private val s
                 genericItem {
                     id("summary")
                     title(stringProvider.getString(R.string.keys_backup_settings_status_not_setup))
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
 
                     if (data.keysBackupVersionTrust()?.usable == false) {
                         description(stringProvider.getString(R.string.keys_backup_settings_untrusted_backup))
@@ -87,7 +87,7 @@ class KeysBackupSettingsRecyclerViewController @Inject constructor(private val s
                 genericItem {
                     id("summary")
                     title(stringProvider.getString(R.string.keys_backup_settings_status_ko))
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     if (data.keysBackupVersionTrust()?.usable == false) {
                         description(stringProvider.getString(R.string.keys_backup_settings_untrusted_backup))
                     } else {
@@ -102,7 +102,7 @@ class KeysBackupSettingsRecyclerViewController @Inject constructor(private val s
                 genericItem {
                     id("summary")
                     title(stringProvider.getString(R.string.keys_backup_settings_status_ok))
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     if (data.keysBackupVersionTrust()?.usable == false) {
                         description(stringProvider.getString(R.string.keys_backup_settings_untrusted_backup))
                     } else {
@@ -118,7 +118,7 @@ class KeysBackupSettingsRecyclerViewController @Inject constructor(private val s
                 genericItem {
                     id("summary")
                     title(stringProvider.getString(R.string.keys_backup_settings_status_ok))
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     hasIndeterminateProcess(true)
 
                     val totalKeys = session.cryptoService().inboundGroupSessionsCount(false)
diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt
index 035df8caa2..e0730d55f1 100644
--- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt
+++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt
@@ -27,7 +27,7 @@ import im.vector.app.core.epoxy.errorWithRetryItem
 import im.vector.app.core.epoxy.loadingItem
 import im.vector.app.core.resources.ColorProvider
 import im.vector.app.core.resources.StringProvider
-import im.vector.app.core.ui.list.GenericItem
+import im.vector.app.core.ui.list.ItemStyle
 import im.vector.app.core.ui.list.genericFooterItem
 import im.vector.app.core.ui.list.genericItem
 import im.vector.app.core.ui.list.genericItemWithValue
@@ -74,7 +74,7 @@ class DeviceListEpoxyController @Inject constructor(private val stringProvider:
 
                 genericItem {
                     id("title")
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     titleIconResourceId(if (allGreen) R.drawable.ic_shield_trusted else R.drawable.ic_shield_warning)
                     title(
                             stringProvider.getString(
@@ -91,7 +91,7 @@ class DeviceListEpoxyController @Inject constructor(private val stringProvider:
 
                 genericItem {
                     id("sessions")
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     title(stringProvider.getString(R.string.room_member_profile_sessions_section_title))
                 }
                 if (deviceList.isEmpty()) {
diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt
index 200d268b27..4c28acd904 100644
--- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt
+++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt
@@ -20,7 +20,7 @@ import com.airbnb.epoxy.TypedEpoxyController
 import im.vector.app.R
 import im.vector.app.core.resources.ColorProvider
 import im.vector.app.core.resources.StringProvider
-import im.vector.app.core.ui.list.GenericItem
+import im.vector.app.core.ui.list.ItemStyle
 import im.vector.app.core.ui.list.genericFooterItem
 import im.vector.app.core.ui.list.genericItem
 import im.vector.app.core.ui.list.genericItemWithValue
@@ -48,7 +48,7 @@ class DeviceTrustInfoEpoxyController @Inject constructor(private val stringProvi
             val isVerified = it.trustLevel?.isVerified() == true
             genericItem {
                 id("title")
-                style(GenericItem.STYLE.BIG_TEXT)
+                style(ItemStyle.BIG_TEXT)
                 titleIconResourceId(if (isVerified) R.drawable.ic_shield_trusted else R.drawable.ic_shield_warning)
                 title(
                         stringProvider.getString(
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/DeviceVerificationInfoBottomSheetController.kt b/vector/src/main/java/im/vector/app/features/settings/devices/DeviceVerificationInfoBottomSheetController.kt
index 100d4c97c5..b66204a9a4 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/DeviceVerificationInfoBottomSheetController.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/DeviceVerificationInfoBottomSheetController.kt
@@ -21,7 +21,7 @@ import im.vector.app.core.epoxy.dividerItem
 import im.vector.app.core.epoxy.loadingItem
 import im.vector.app.core.resources.ColorProvider
 import im.vector.app.core.resources.StringProvider
-import im.vector.app.core.ui.list.GenericItem
+import im.vector.app.core.ui.list.ItemStyle
 import im.vector.app.core.ui.list.genericFooterItem
 import im.vector.app.core.ui.list.genericItem
 import im.vector.app.core.ui.views.toDrawableRes
@@ -85,7 +85,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
             if (currentSessionIsTrusted) {
                 genericItem {
                     id("trust${cryptoDeviceInfo.deviceId}")
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     titleIconResourceId(shield)
                     title(stringProvider.getString(R.string.encryption_information_verified))
                     description(stringProvider.getString(R.string.settings_active_sessions_verified_device_desc))
@@ -94,7 +94,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
                 // You need to complete security, only if there are other session(s) available, or if 4S contains secrets
                 genericItem {
                     id("trust${cryptoDeviceInfo.deviceId}")
-                    style(GenericItem.STYLE.BIG_TEXT)
+                    style(ItemStyle.BIG_TEXT)
                     titleIconResourceId(shield)
                     title(stringProvider.getString(R.string.crosssigning_verify_this_session))
                     if (data.hasOtherSessions) {
@@ -114,7 +114,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
                 if (trust) {
                     genericItem {
                         id("trust${cryptoDeviceInfo.deviceId}")
-                        style(GenericItem.STYLE.BIG_TEXT)
+                        style(ItemStyle.BIG_TEXT)
                         titleIconResourceId(shield)
                         title(stringProvider.getString(R.string.encryption_information_verified))
                         description(stringProvider.getString(R.string.settings_active_sessions_verified_device_desc))
@@ -123,7 +123,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
                     genericItem {
                         id("trust${cryptoDeviceInfo.deviceId}")
                         titleIconResourceId(shield)
-                        style(GenericItem.STYLE.BIG_TEXT)
+                        style(ItemStyle.BIG_TEXT)
                         title(stringProvider.getString(R.string.encryption_information_not_verified))
                         description(stringProvider.getString(R.string.settings_active_sessions_unverified_device_desc))
                     }
@@ -172,7 +172,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
         if (cryptoDeviceInfo.trustLevel?.isLocallyVerified() == true) {
             genericItem {
                 id("trust${cryptoDeviceInfo.deviceId}")
-                style(GenericItem.STYLE.BIG_TEXT)
+                style(ItemStyle.BIG_TEXT)
                 titleIconResourceId(shield)
                 title(stringProvider.getString(R.string.encryption_information_verified))
                 description(stringProvider.getString(R.string.settings_active_sessions_verified_device_desc))
@@ -181,7 +181,7 @@ class DeviceVerificationInfoBottomSheetController @Inject constructor(
             genericItem {
                 id("trust${cryptoDeviceInfo.deviceId}")
                 titleIconResourceId(shield)
-                style(GenericItem.STYLE.BIG_TEXT)
+                style(ItemStyle.BIG_TEXT)
                 title(stringProvider.getString(R.string.encryption_information_not_verified))
                 description(stringProvider.getString(R.string.settings_active_sessions_unverified_device_desc))
             }
diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/SpaceDefaultRoomEpoxyController.kt b/vector/src/main/java/im/vector/app/features/spaces/create/SpaceDefaultRoomEpoxyController.kt
index aa4b2beae4..9a17a8272e 100644
--- a/vector/src/main/java/im/vector/app/features/spaces/create/SpaceDefaultRoomEpoxyController.kt
+++ b/vector/src/main/java/im/vector/app/features/spaces/create/SpaceDefaultRoomEpoxyController.kt
@@ -21,7 +21,7 @@ import com.google.android.material.textfield.TextInputLayout
 import im.vector.app.R
 import im.vector.app.core.resources.ColorProvider
 import im.vector.app.core.resources.StringProvider
-import im.vector.app.core.ui.list.GenericItem
+import im.vector.app.core.ui.list.ItemStyle
 import im.vector.app.core.ui.list.genericFooterItem
 import im.vector.app.features.form.formEditTextItem
 import javax.inject.Inject
@@ -38,7 +38,7 @@ class SpaceDefaultRoomEpoxyController @Inject constructor(
     override fun buildModels(data: CreateSpaceState?) {
         genericFooterItem {
             id("info_help_header")
-            style(GenericItem.STYLE.TITLE)
+            style(ItemStyle.TITLE)
             text(stringProvider.getString(R.string.create_spaces_room_public_header, data?.name))
             textColor(colorProvider.getColorFromAttribute(R.attr.riot_primary_text_color))
         }