The [vector tile protobuf](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto)  definition contains support for a limited subset of datatypes:

```
        // Variant type encoding
        // The use of values is described in section 4.1 of the specification
        message Value {
                // Exactly one of these values must be present in a valid message
                optional string string_value = 1;
                optional float float_value = 2;
                optional double double_value = 3;
                optional int64 int_value = 4;
                optional uint64 uint_value = 5;
                optional sint64 sint_value = 6;
                optional bool bool_value = 7;

                extensions 8 to max;
        }
```

That means that data types like byte or short are not supported. The current behaviour of the library we are using for building vector tiles is to silently drop those values. This is not correct, we should either cast those values to an integer (preferred) or throwing an exception.

x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/rest/VectorTileUtils.java
if (entry.getValue() != null) {
                addPropertyToFeature(feature, layerProps, entry.getKey(), entry.getValue());
            }
        }
    }
    /**
     * Adds the provided key / value pair into the feature as tags.
     */
    public static void addPropertyToFeature(VectorTile.Tile.Feature.Builder feature, MvtLayerProps layerProps, String key, Object value) {
        if (value == null) {
            
            return;
        }
        feature.addTags(layerProps.addKey(key));
        feature.addTags(layerProps.addValue(value));
    }
    /**
     * Adds the given properties to the provided layer.
     */
    public static void addPropertiesToLayer(VectorTile.Tile.Layer.Builder layer, MvtLayerProps layerProps) {
        
        layer.addAllKeys(layerProps.getKeys());
        
        final Iterable<Object> values = layerProps.getVals();
        for (Object value : values) {
            layer.addValues(MvtValue.toValue(value));
        }
    }
}