diff --git a/swh/model/hypothesis_strategies.py b/swh/model/hypothesis_strategies.py
index 5ae56fda648cda8968309ac4edb930461d178cff..80ac0577c6b0a336260e4c5c913e0ec5e06847e0 100644
--- a/swh/model/hypothesis_strategies.py
+++ b/swh/model/hypothesis_strategies.py
@@ -598,7 +598,9 @@ def objects(
     return one_of(*candidates)
 
 
-def object_dicts(blacklist_types=("origin_visit_status",), split_content=False):
+def object_dicts(
+    blacklist_types=(ModelObjectType.ORIGIN_VISIT_STATUS,), split_content=False
+):
     """generates a random couple (type, dict)
 
     which dict is suitable for <ModelForType>.from_dict() factory methods.
@@ -610,20 +612,20 @@ def object_dicts(blacklist_types=("origin_visit_status",), split_content=False):
 
     """
     strategies = [
-        ("origin", origins_d),
-        ("origin_visit", origin_visits_d),
-        ("origin_visit_status", origin_visit_statuses_d),
-        ("snapshot", snapshots_d),
-        ("release", releases_d),
-        ("revision", revisions_d),
-        ("directory", directories_d),
-        ("raw_extrinsic_metadata", raw_extrinsic_metadata_d),
+        (ModelObjectType.ORIGIN, origins_d),
+        (ModelObjectType.ORIGIN_VISIT, origin_visits_d),
+        (ModelObjectType.ORIGIN_VISIT_STATUS, origin_visit_statuses_d),
+        (ModelObjectType.SNAPSHOT, snapshots_d),
+        (ModelObjectType.RELEASE, releases_d),
+        (ModelObjectType.REVISION, revisions_d),
+        (ModelObjectType.DIRECTORY, directories_d),
+        (ModelObjectType.RAW_EXTRINSIC_METADATA, raw_extrinsic_metadata_d),
     ]
     if split_content:
-        strategies.append(("content", present_contents_d))
-        strategies.append(("skipped_content", skipped_contents_d))
+        strategies.append((ModelObjectType.CONTENT, present_contents_d))
+        strategies.append((ModelObjectType.SKIPPED_CONTENT, skipped_contents_d))
     else:
-        strategies.append(("content", contents_d))
+        strategies.append((ModelObjectType.CONTENT, contents_d))
     args = [
         obj_gen().map(lambda x, obj_type=obj_type: (obj_type, x))
         for (obj_type, obj_gen) in strategies
diff --git a/swh/model/tests/test_hypothesis_strategies.py b/swh/model/tests/test_hypothesis_strategies.py
index d67eededeec80f8b58a1028fd9bcecb37fd67178..f65ae156023dd13e5c5c408a0f99d3a85d6a3a84 100644
--- a/swh/model/tests/test_hypothesis_strategies.py
+++ b/swh/model/tests/test_hypothesis_strategies.py
@@ -81,7 +81,7 @@ def assert_nested_dict(obj):
 def test_dicts_generation(obj_type_and_obj):
     (obj_type, object_) = obj_type_and_obj
     assert_nested_dict(object_)
-    if obj_type == "content":
+    if obj_type == ModelObjectType.CONTENT:
         COMMON_KEYS = set(DEFAULT_ALGORITHMS) | {"length", "status", "ctime"}
         if object_["status"] == "visible":
             assert set(object_) <= COMMON_KEYS | {"data"}
@@ -91,9 +91,9 @@ def test_dicts_generation(obj_type_and_obj):
             assert set(object_) <= COMMON_KEYS | {"data"}
         else:
             assert False, object_
-    elif obj_type == "release":
+    elif obj_type == ModelObjectType.RELEASE:
         assert object_["target_type"] in target_types
-    elif obj_type == "snapshot":
+    elif obj_type == ModelObjectType.SNAPSHOT:
         for branch in object_["branches"].values():
             assert branch is None or branch["target_type"] in target_types
 
@@ -109,22 +109,28 @@ def test_datetimes(dt):
 @given(object_dicts(split_content=False))
 def test_dicts_generation_merged_content(obj_type_and_obj):
     # we should never generate a "skipped_content" here
-    assert obj_type_and_obj[0] != "skipped_content"
+    assert obj_type_and_obj[0] != ModelObjectType.SKIPPED_CONTENT
 
 
-@given(
-    object_dicts(
-        split_content=True, blacklist_types={e.value for e in all_but_skipped_content}
-    )
-)
+@given(object_dicts(split_content=True, blacklist_types=all_but_skipped_content))
 def test_dicts_generation_split_content(obj_type_and_obj):
     # we should only generate "skipped_content"
-    assert obj_type_and_obj[0] == "skipped_content"
+    assert obj_type_and_obj[0] == ModelObjectType.SKIPPED_CONTENT
 
 
-@given(object_dicts(blacklist_types=("release", "content")))
+@given(
+    object_dicts(
+        blacklist_types={
+            ModelObjectType.CONTENT,
+            ModelObjectType.RELEASE,
+        }
+    )
+)
 def test_dicts_generation_blacklist(obj_type_and_obj):
-    assert obj_type_and_obj[0] not in ("release", "content")
+    assert obj_type_and_obj[0] not in {
+        ModelObjectType.CONTENT,
+        ModelObjectType.RELEASE,
+    }
 
 
 @given(objects())