diff --git a/pkg/extension/schema.go b/pkg/extension/schema.go
index cf71a4568c8ed734bda41e344936b728a8ed8b99..577d27b8a13b3586fc267fb09b93d967be5be881 100644
--- a/pkg/extension/schema.go
+++ b/pkg/extension/schema.go
@@ -94,15 +94,17 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
 }
 
 func getEnumOpt(opts map[int32]string) []validate.EnumOpt {
-	keys := make([]string, 0, len(opts))
-	for _, k := range opts {
+	keys := make([]int32, 0, len(opts))
+	for k := range opts {
 		keys = append(keys, k)
 	}
-	sort.Strings(keys)
+	sort.Slice(keys, func(i, j int) bool {
+		return keys[i] < keys[j]
+	})
 
 	enum := make([]validate.EnumOpt, len(opts))
 	for i, n := range keys {
-		enum[i] = validate.EnumOpt{Name: n, Value: float64(i)}
+		enum[i] = validate.EnumOpt{Name: opts[n], Value: float64(n)}
 	}
 	return enum
 }
diff --git a/pkg/extension/schema_test.go b/pkg/extension/schema_test.go
index b15a210045b85ef7349cbdaad3b7365eb6c411a0..a3381330c85bd13582f8b33383080975a7c8534f 100644
--- a/pkg/extension/schema_test.go
+++ b/pkg/extension/schema_test.go
@@ -5,6 +5,7 @@ import (
 	"testing"
 
 	"git.perx.ru/perxis/perxis-go/pkg/schema/validate"
+	pb "git.perx.ru/perxis/perxis-go/proto/extensions"
 )
 
 func Test_getEnumOpt(t *testing.T) {
@@ -17,10 +18,48 @@ func Test_getEnumOpt(t *testing.T) {
 			name: "#1",
 			opts: map[int32]string{1: "a", 2: "b", 3: "c", 1000: "w"},
 			want: []validate.EnumOpt{
-				{Name: "a", Value: float64(0)},
-				{Name: "b", Value: float64(1)},
-				{Name: "c", Value: float64(2)},
-				{Name: "w", Value: float64(3)},
+				{Name: "a", Value: float64(1)},
+				{Name: "b", Value: float64(2)},
+				{Name: "c", Value: float64(3)},
+				{Name: "w", Value: float64(1000)},
+			},
+		},
+		{
+			name: "#2",
+			opts: pb.Action_Kind_name,
+			want: []validate.EnumOpt{
+				{Name: "DEFAULT", Value: float64(0)},
+				{Name: "SPACE", Value: float64(1)},
+				{Name: "ENVIRONMENT", Value: float64(2)},
+				{Name: "COLLECTION", Value: float64(3)},
+				{Name: "ITEM", Value: float64(4)},
+				{Name: "ITEMS", Value: float64(5)},
+				{Name: "REVISION", Value: float64(6)},
+				{Name: "CREATE", Value: float64(7)},
+			},
+		},
+		{
+			name: "#3",
+			opts: pb.Action_View_name,
+			want: []validate.EnumOpt{
+				{Name: "DEFAULT_VIEW", Value: float64(0)},
+				{Name: "HIDDEN_VIEW", Value: float64(1)},
+				{Name: "MAIN_MENU_VIEW", Value: float64(2)},
+				{Name: "MAIN_MENU_BOTTOM_VIEW", Value: float64(3)},
+			},
+		},
+		{
+			name: "#4",
+			opts: pb.Target_name,
+			want: []validate.EnumOpt{
+				{Name: "DEFAULT", Value: float64(0)},
+				{Name: "MODAL", Value: float64(1)},
+				{Name: "WIDE", Value: float64(2)},
+				{Name: "MAIN", Value: float64(4)},
+				{Name: "DRAWER", Value: float64(5)},
+				{Name: "NOTIFICATION", Value: float64(6)},
+				{Name: "BLANK", Value: float64(7)},
+				{Name: "NONE", Value: float64(100)},
 			},
 		},
 	}